UART外设接收非定长数据字节数如何获得
-
开启接收中断后,每当接收到UART数据,中断会搬运 UART 的数据至用户的buffer中(rx_buff),所以任意时刻点,只要有收到数据,就会同步显示到 rx_buff 内
-
因为是变字节长度接收总线数据,我不清楚rx_buff里的字节数量,我接入的另外的api接口要求的数据是单字节传入,也就是说我需要知道rx_buff内的字节数量才能将数据完整传入
-
-
好的,非常感谢!
-
发现ME在接收长数据时,容易出现接收不响应现象,短的数据则正常,有办法改善不?
-
没有其它中断在跑,只跑串口程序,加大了发数据的间隔,也是会挂机,接收短的数据是正常的,长数据就不行。我们是用串口来进行数据升级。
-
你说的挂机是什么现象?数据接收有误?数据个数不对?还是什么
-
我说的挂机就是没响应了,也不给接收反馈了
-
Diga 想问下,如果不确定接收的数据长度,比如给串口的buffer大小500字节,但是一次性来了600字节,在接收满500字节时是会触发FULL回调,这个时候如何处理,才不至于让后续的501~600造成ERR中断?
-
- 如果你是想要丢弃后续数据,那直接关闭接收就行了
- 如果你想继续接收,可以重启那个接收API,换个 buffer 继续接收
- 一般接收不定长,得把长度设大,大于你的预期值
帮助没办法联网的电脑使用YCT
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...