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

[复制链接]
1871|4
手机看帖
扫描二维码
随时随地手机跟帖
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 | 显示全部楼层
官方例程?主程序是这样吗?
while(1)
        {
                Check** = 0;
                if(u8Rx**)
                {
                        u8Rx** = 0;
                        if(Uart_CheckEvenOrOdd(UARTCH1,Even,u8RxData[1])!=Ok)
                        {
                                Check** = 1;//奇偶校验出错
                        }
                        else
                        {
                                Uart_SetTb8(UARTCH1,Even,u8RxData[0]);
                                Uart_SendData(UARTCH1,u8RxData[0]);                               
                                Uart_SetTb8(UARTCH1,Even,u8RxData[1]);
                                Uart_SendData(UARTCH1,u8RxData[1]);
                        }
                }
        }

是的话,看起来就是只接收一个字节啊

使用特权

评论回复
gghhz|  楼主 | 2021-10-13 10:48 | 显示全部楼层
问题已解决,的确是我程序的问题。在选择UART工作模式的时候,忽略了奇偶校验位。2、3工作模式是有奇偶校验位的。把这个加上就好了。非常感谢大佬们的回答。

使用特权

评论回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

本版热帖

本版活跃用户

优质原创写原创,赢大奖

编辑推荐

  • 1 呐咯密密 得到打赏 ¥310.00
  • 2 qbwww 得到打赏 ¥265.00
  • 3 yanzhengxin1 得到打赏 ¥200.00
  • 4 full_stack 得到打赏 ¥100.00
  • 5 laocuo1142 得到打赏 ¥55.00
  • 6 二哲科技 得到打赏 ¥50.00
  • 7 zhangjiantao 得到打赏 ¥50.00
  • 8 改名了 得到打赏 ¥50.00
  • 9 小叶三千 得到打赏 ¥50.00
  • 10 cjseng 得到打赏 ¥50.00
在线客服 快速回复 返回顶部 返回列表