UART接收数据函数uint32 UART_PB_UartGetChar(void)

公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Fayne_Meng
Level 4
Level 4
Distributor - Weikeng(GC)
100 sign-ins First like received 10 likes given

Hi ,

  UART函数说明:当这个函数返回0时,是本身接收到的数据是0x00,还是表示接收错误?这两种情况是怎么分开的,还请说明一下,谢谢。

原始生成的代码如下:

uint32 UART_PB_UartGetChar(void)
{
uint32 rxData = 0u;

/* Reads data only if there is data to read */
if (0u != UART_PB_SpiUartGetRxBufferSize())
{
rxData = UART_PB_SpiUartReadRxData();
}

if (UART_PB_CHECK_INTR_RX(UART_PB_INTR_RX_ERR))
{
rxData = 0u; /* Error occurred: returns zero */
UART_PB_ClearRxInterruptSource(UART_PB_INTR_RX_ERR);
}

return (rxData);
}

 

Best Regards

Fayne

0 点赞
1 解答
LinglingG_46
Moderator
Moderator
Moderator
500 solutions authored 1000 replies posted 10 questions asked

getchar 这个地方0 就是null,空。和错误是一个概念,所以这个地方不存在冲突。

链接是ASCII对应表:http://c.biancheng.net/c/ascii/

在原帖中查看解决方案

0 点赞
1 回复
LinglingG_46
Moderator
Moderator
Moderator
500 solutions authored 1000 replies posted 10 questions asked

getchar 这个地方0 就是null,空。和错误是一个概念,所以这个地方不存在冲突。

链接是ASCII对应表:http://c.biancheng.net/c/ascii/

0 点赞