[技术问答] HC32L110C6PA串口接收问题

[复制链接]
 楼主| gghhz 发表于 2021-10-11 15:14 | 显示全部楼层 |阅读模式
请教一下,如题,HC32L110C6PA串口发送数据没问题,接收数据时,一次只能接收一个字节。接收多个字节,只有第一个字节正确,其他的乱码。这是什么问题呢?
guijial511 发表于 2021-10-11 18:58 来自手机 | 显示全部楼层
那多半是你程序设计有问题
 楼主| gghhz 发表于 2021-10-12 11:25 | 显示全部楼层
guijial511 发表于 2021-10-11 18:58
那多半是你程序设计有问题

你好,很感谢你的回答。我用官网自带的历程测试,也是只有一个字节是正确的。我用的是中断接收。如果我在发送端(串口助手)加一个延时,比如1ms,就没问题。正常发送的话就不行
waaini 发表于 2021-10-12 14:17 | 显示全部楼层
官方例程?主程序是这样吗?
  1. while(1)
  2.         {
  3.                 Check** = 0;
  4.                 if(u8Rx**)
  5.                 {
  6.                         u8Rx** = 0;
  7.                         if(Uart_CheckEvenOrOdd(UARTCH1,Even,u8RxData[1])!=Ok)
  8.                         {
  9.                                 Check** = 1;//奇偶校验出错
  10.                         }
  11.                         else
  12.                         {
  13.                                 Uart_SetTb8(UARTCH1,Even,u8RxData[0]);
  14.                                 Uart_SendData(UARTCH1,u8RxData[0]);                               
  15.                                 Uart_SetTb8(UARTCH1,Even,u8RxData[1]);
  16.                                 Uart_SendData(UARTCH1,u8RxData[1]);
  17.                         }
  18.                 }
  19.         }

是的话,看起来就是只接收一个字节啊
 楼主| gghhz 发表于 2021-10-13 10:48 | 显示全部楼层
问题已解决,的确是我程序的问题。在选择UART工作模式的时候,忽略了奇偶校验位。2、3工作模式是有奇偶校验位的。把这个加上就好了。非常感谢大佬们的回答。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

70

帖子

2

粉丝
快速回复 返回顶部 返回列表