STM32/STM8技术论坛
直播中

成尔秩

7年用户 944经验值
私信 关注
[问答]

请问cube的HAL_UART_Receive_IT函数是每次进入中断接收一个字节吗?

1.HAL_UART_Receive_IT这个函数是每次进入中断接收一个字节吗?
2.HAL_UART_Receive_IT每次接收多个字节时,前几个字节接收还正常,以后的及格字节就是重复前面的接收字节了,是不是我用上位机发送的时间间隔太短了,以至于丢失?怎么去正确接受呢?

回帖(7)

成尔秩

2019-2-20 08:03:11
谢谢你的回答!我昨天解决这个问题了,我自己就是先在中断中接收4个字节(我自定义的哈!),存入一个数组中,然后通过判断后取出来有效段发送出来,这个方法目前貌似很稳定,不会乱码。
1 举报

林旭

2019-2-20 08:16:59
覆盖回调函数,在新回调函数里面读取接收到的数据,然后再次执行HAL_UART_Receive_IT
CubeMX的UART中断接收,我测试过,可以正确执行
举报

黄敏

2019-2-20 08:32:17
:):):):):)
举报

成尔秩

2019-2-20 08:41:36
引用: lxz0404 发表于 2019-2-20 12:01
覆盖回调函数,在新回调函数里面读取接收到的数据,然后再次执行HAL_UART_Receive_IT
CubeMX的UART中断接收,我测试过,可以正确执行

至于你说的回调函数我不会用,也没用它,我感觉应该是接收到sizes大小的字节后再进入中断
举报

刘溪

2019-2-20 08:53:35
没看明白,能不能贴一下代码看看
举报

刘溪

2019-2-20 09:12:09
我现在遇到的问题是:
HAL_UART_Receive_IT用这个按节节接收多个数据,接收几个后就出问题。
举报

huihui163

2019-2-21 12:41:41
每次中断接受一个字节,不过也可以通过程序实现接受多个字节
举报

更多回帖

发帖
×
20
完善资料,
赚取积分