在线时间27 小时
UID198020
注册时间2007-7-22
NXP金币0
该用户从未签到
中级会员
 
- 积分
- 386
- 最后登录
- 2023-9-12
|
本帖最后由 hpdell 于 2023-3-4 21:53 编辑
使用 FC4_UART 功能, 配置完成 后只能输出一个字符 '\0' ?
单片机使用 LPC54608J512
相关程序如下:
#define IOCON_PIO_FUNC2 0x02u
void BOARD_InitPins(void)
{
/* Enables the clock for the IOCON block. 0 = Disable; 1 = Enable.: 0x01u */
CLOCK_EnableClock(kCLOCK_Iocon);
const uint32_t port3_pin26_config = (/* Pin is configured as FC4_RXD_SDA_MOSI */
IOCON_PIO_FUNC2 |
/* 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);
/* PORT3 PIN26 (coords: K5) is configured as FC4_RXD_SDA_MOSI */
IOCON_PinMuxSet(IOCON, 3U, 26U, port3_pin26_config);
const uint32_t port3_pin27_config = (/* Pin is configured as FC4_TXD_SCL_MISO */
IOCON_PIO_FUNC2 |
/* 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);
/* PORT3 PIN27 (coords: P14) is configured as FC4_TXD_SCL_MISO */
IOCON_PinMuxSet(IOCON, 3U, 27U, port3_pin27_config);
}
status_t BOARD_InitDebugConsole(void)
{
#if ((SDK_DEBUGCONSOLE == DEBUGCONSOLE_REDIRECT_TO_SDK) || defined(SDK_DEBUGCONSOLE_UART))
status_t result;
/* attach 12 MHz clock to FLEXCOMM0 (debug console) */
CLOCK_AttachClk(BOARD_DEBUG_UART_CLK_ATTACH);
RESET_PeripheralReset(BOARD_DEBUG_UART_RST);
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;
#else
return kStatus_Success;
#endif
}
#define DEMO_USART USART4
#define DEMO_USART_CLK_SRC kCLOCK_Flexcomm0
#define DEMO_USART_CLK_FREQ CLOCK_GetFlexCommClkFreq(0)
uint8_t txbuff[] = "Usart polling example\r\nBoard will send back received characters\r\n";
int main(void)
{
BOARD_InitPins();
// BOARD_BootClockPLL220M();
BOARD_BootClockPLL180M();
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);
}
|
|