LIN模块配置成的SCI多级BUFFER模式时,用户可以设置接收字节的长度(1~8byte),从参考手册来看当长度为8byte时接收必须达到设定的8Byte才会发出接收完成信号,这会给我带来很多使用问题:
1、我是在主循环内通过接收完成标志来触发读取的,为了防止未能及时读取的数据被覆盖所以准备使用多BUFFER模式,但是所设的缓冲区满了后才会发出接收完成,我也必须得在下一个数据来之前进行读取,时间上得要求并没有变少低;
2、我需要处理得设置指令长度不固定,例如可能时13Byte,前8个Byte接收完成后靠后5Byte始终填不满,这时不会发出接收完成标志,导致无法正常工作;
3、设置的BUFFER长度为8,查阅了手册不能够发现从哪里可以读取接收计数器的值,也就是说没接收满前我都不知到BUFFER里存了几个数据。
芯片的SCI模块已经被用了,只剩余LIN配置成SCI模式来使用,希望能确认我对多BUFFER模式认知逻辑是否正确。