Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
开启接收中断后,每当接收到UART数据,中断会搬运 UART 的数据至用户的buffer中(rx_buff),所以任意时刻点,只要有收到数据,就会同步显示到 rx_buff 内
因为是变字节长度接收总线数据,我不清楚rx_buff里的字节数量,我接入的另外的api接口要求的数据是单字节传入,也就是说我需要知道rx_buff内的字节数量才能将数据完整传入
通常,uartState 内会记录从开启传输后,到任意时刻,接收到的数据个数
好的,非常感谢!
发现ME在接收长数据时,容易出现接收不响应现象,短的数据则正常,有办法改善不?
Diga 那个好像是剩余个数 要总个数-rxrize 才是接收个数!
JMHL 嗯,所以是 rxSize 而不是 rxCount,另外右边的注释是有介绍这个参数的意义的
samliu ME0的UART应该是中断接收模式,可能是UART通信速率较快,在接收长数据时,如果被其他中断打断或者抢占,会导致有部分数据由于接收Buffer已满而被丢弃,接收数据个数未满足预设值,从而影响最终的传输状态。如果要改善,尽量合理分配程序运行时间与中断优先级,或者降低UART传输速率。
没有其它中断在跑,只跑串口程序,加大了发数据的间隔,也是会挂机,接收短的数据是正常的,长数据就不行。我们是用串口来进行数据升级。
你说的挂机是什么现象?数据接收有误?数据个数不对?还是什么
Diga 刚客户发现问题了,接收的buffer设置的小了,设置为100,实际数据150,所以挂机了,问题解决了,感谢支持!
我说的挂机就是没响应了,也不给接收反馈了
帮助没办法联网的电脑使用YCT
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...