在线时间88 小时
UID3325292
注册时间2016-11-2
NXP金币0
TA的每日心情 | 奋斗 2021-2-4 16:14 |
---|
签到天数: 139 天 连续签到: 1 天 [LV.7]常住居民III
高级会员

- 积分
- 881
- 最后登录
- 2021-2-4
|

楼主 |
发表于 2019-6-4 10:09:42
|
显示全部楼层
你好,我使用官方例程lpcxpresso54628_usart_polling,环境:LPCXpresso546xx/540xx开发板,默认配置就是USART0,直接调用PRINTF函数,在串口0上没有PRINTF数据打出来(使用USB转串口接到电脑上查看),可以看到USART_WriteBlocking函数打出来的数据。请问哪里有问题?下面是代码:
#include "board.h"
#include "fsl_usart.h"
#include "pin_mux.h"
#include <stdbool.h>
#include "fsl_debug_console.h"
uint8_t txbuff[] = "Usart polling example\r\nBoard will send back received characters\r\n";
void delay(void)
{
volatile uint32_t i = 0;
for (i = 0; i < 5000000; ++i)
{
__asm("NOP"); /* delay */
}
}
int main(void)
{
// uint8_t ch;
usart_config_t config;
/* attach 12 MHz clock to FLEXCOMM0 (debug console) */
CLOCK_AttachClk(BOARD_DEBUG_UART_CLK_ATTACH);
BOARD_InitPins();
BOARD_BootClockPLL220M();
BOARD_InitDebugConsole();
/*
* config.baudRate_Bps = 115200U;
* config.parityMode = kUSART_ParityDisabled;
* config.stopBitCount = kUSART_OneStopBit;
* config.loopback = false;
* config.enableTx = false;
* config.enableRx = false;
*/
USART_GetDefaultConfig(&config);
config.baudRate_Bps = BOARD_DEBUG_UART_BAUDRATE;
config.enableTx = true;
config.enableRx = true;
USART_Init(DEMO_USART, &config, DEMO_USART_CLK_FREQ);
USART_WriteBlocking(DEMO_USART, txbuff, sizeof(txbuff) - 1);
PRINTF("Hello UART0 1111111\r\n");
while (1)
{
delay();
PRINTF("Hello UART0\r\n");
}
}
void BOARD_InitPins(void)
{
/* Enables the clock for the IOCON block. 0 = Disable; 1 = Enable.: 0x01u */
CLOCK_EnableClock(kCLOCK_Iocon);
const uint32_t port0_pin29_config = (/* Pin is configured as FC0_RXD_SDA_MOSI */
IOCON_PIO_FUNC1 |
/* No addition pin function */
IOCON_PIO_MODE_INACT |
/* Input function is not inverted */
IOCON_PIO_INV_DI |
/* Enables digital function */
IOCON_PIO_DIGITAL_EN |
/* Input filter disabled */
IOCON_PIO_INPFILT_OFF |
/* Standard mode, output slew rate control is enabled */
IOCON_PIO_SLEW_STANDARD |
/* Open drain is disabled */
IOCON_PIO_OPENDRAIN_DI);
/* PORT0 PIN29 (coords: B13) is configured as FC0_RXD_SDA_MOSI */
IOCON_PinMuxSet(IOCON, 0U, 29U, port0_pin29_config);
const uint32_t port0_pin30_config = (/* Pin is configured as FC0_TXD_SCL_MISO */
IOCON_PIO_FUNC1 |
/* No addition pin function */
IOCON_PIO_MODE_INACT |
/* Input function is not inverted */
IOCON_PIO_INV_DI |
/* Enables digital function */
IOCON_PIO_DIGITAL_EN |
/* Input filter disabled */
IOCON_PIO_INPFILT_OFF |
/* Standard mode, output slew rate control is enabled */
IOCON_PIO_SLEW_STANDARD |
/* Open drain is disabled */
IOCON_PIO_OPENDRAIN_DI);
/* PORT0 PIN30 (coords: A2) is configured as FC0_TXD_SCL_MISO */
IOCON_PinMuxSet(IOCON, 0U, 30U, port0_pin30_config);
}
status_t BOARD_InitDebugConsole(void)
{
status_t result;
/* attach 12 MHz clock to FLEXCOMM0 (debug console) */
CLOCK_AttachClk(BOARD_DEBUG_UART_CLK_ATTACH);
RESET_PeripheralReset(BOARD_DEBUG_UART_RST);
/*
#define BOARD_DEBUG_UART_INSTANCE 0U
#define BOARD_DEBUG_UART_BAUDRATE 115200
#define BOARD_DEBUG_UART_TYPE kSerialPort_Uart
*/
result = DbgConsole_Init(BOARD_DEBUG_UART_INSTANCE, BOARD_DEBUG_UART_BAUDRATE, BOARD_DEBUG_UART_TYPE,
BOARD_DEBUG_UART_CLK_FREQ);
assert(kStatus_Success == result);
return result;
}
|
|