在线时间121 小时
UID3106392
注册时间2015-5-27
NXP金币14
该用户从未签到
金牌会员
 
- 积分
- 1114
- 最后登录
- 2017-8-16
|
本帖最后由 673402618 于 2015-8-28 13:04 编辑
前面串口配置的部分是自己的, 后面的是从KSDK的例程中复制的一段代码。 用YL-KL26Z自带的串口发现或者外接PL2303都接收不到数据,debug的时候发现有时会卡在 UART_DRV_Init, 有时会卡在UART_DRV_SendData, 我在语句后面放一个断点, 运行很长时间也到不了, 最后自己停下来,也没有定位到程序停止的地方。 debug的设置应该是没问题的, 昨天刚刚设置好。请问是哪里的问题? - const uint8_t buffStart[] = "\n\r++++++++++++++++ UART Send/Receive Non Blocking Example +++++++++++++++++\n\r";
- const uint8_t bufferData1[] = "\n\rType characters from keyboard, the board will receive and then echo them to terminal screen\n\r";
- int main()
- {
-
- unsigned char i,j;
- int cnt = 0;
- uint8_t rxChar, txChar;
- uint32_t byteCountBuff = 0;
-
- uart_user_config_t uartConfig;
- uart_state_t uartState;
-
- CLOCK_SYS_EnablePortClock(PORTA_IDX);
- CLOCK_SYS_EnableUartClock(UART0_IDX);
-
-
- PORT_HAL_SetMuxMode(PORTA,1u,kPortMuxAlt2);
- PORT_HAL_SetMuxMode(PORTA,2u,kPortMuxAlt2);
-
- UART_DRV_Deinit(UART0_IDX);
-
- uartConfig.baudRate = 9600;
- uartConfig.bitCountPerChar = kUart8BitsPerChar;
- uartConfig.parityMode = kUartParityDisabled;
- uartConfig.stopBitCount = kUartOneStopBit;
- UART_DRV_Init(UART0_IDX, &uartState, &uartConfig);
-
- // Inform to start non blocking example
- byteCountBuff = sizeof(buffStart);
- UART_DRV_SendData(UART0_IDX, buffStart, byteCountBuff);
- // Wait until transmission is finished
- while (kStatus_UART_TxBusy == UART_DRV_GetTransmitStatus(UART0_IDX, NULL)){}
- // Inform user of what to do
- byteCountBuff = sizeof(bufferData1);
- UART_DRV_SendData(UART0_IDX, bufferData1, byteCountBuff);
- // Wait until transmission is finished
- while (kStatus_UART_TxBusy == UART_DRV_GetTransmitStatus(UART0_IDX, NULL)){}
- while(true)
- {
- // Call received API
- UART_DRV_ReceiveData(UART0_IDX, &rxChar, 1u);
- // Wait until we receive a character
- while (kStatus_UART_RxBusy == UART_DRV_GetReceiveStatus(UART0_IDX, NULL)){}
- // Echo received character
- txChar = rxChar;
- UART_DRV_SendData(UART0_IDX, &txChar, 1u);
- }
复制代码
|
评分
-
查看全部评分
|