TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28035: LIN模块配置成的SCI多级BUFFER模式很不好用,是我理解有误吗?

Part Number:TMS320F28035

LIN模块配置成的SCI多级BUFFER模式时,用户可以设置接收字节的长度(1~8byte),从参考手册来看当长度为8byte时接收必须达到设定的8Byte才会发出接收完成信号,这会给我带来很多使用问题:

1、我是在主循环内通过接收完成标志来触发读取的,为了防止未能及时读取的数据被覆盖所以准备使用多BUFFER模式,但是所设的缓冲区满了后才会发出接收完成,我也必须得在下一个数据来之前进行读取,时间上得要求并没有变少低;

2、我需要处理得设置指令长度不固定,例如可能时13Byte,前8个Byte接收完成后靠后5Byte始终填不满,这时不会发出接收完成标志,导致无法正常工作;

3、设置的BUFFER长度为8,查阅了手册不能够发现从哪里可以读取接收计数器的值,也就是说没接收满前我都不知到BUFFER里存了几个数据。

芯片的SCI模块已经被用了,只剩余LIN配置成SCI模式来使用,希望能确认我对多BUFFER模式认知逻辑是否正确。

Cherry Zhou:

您好,我们已收到您的问题并升级到英文论坛寻求帮助,如有答复将尽快回复您。谢谢!

,

Cherry Zhou:

您好,

Huangyu Zhang 说:1、我是在主循环内通过接收完成标志来触发读取的,为了防止未能及时读取的数据被覆盖所以准备使用多BUFFER模式,但是所设的缓冲区满了后才会发出接收完成,我也必须得在下一个数据来之前进行读取,时间上得要求并没有变少低;

下文中您提到长度设置为8。 当接收到这么多数据时,RXRDY 标志将会被置位。 

TRM中有以下描述:"The multi-buffer 3-bit counter counts the data bytes transferred from the SCIRXSHF register to the RDy receive buffers and TDy transmit buffers register to SCITXSHF register. The 3-bit compare register contains the number of data bytes expected to be received or transmitted. the LENGTH value in SCIFORMAT register indicates the expected length and is used to load the 3-bit compare register"

Huangyu Zhang 说:2、我需要处理得设置指令长度不固定,例如可能时13Byte,前8个Byte接收完成后靠后5Byte始终填不满,这时不会发出接收完成标志,导致无法正常工作;

您指的填不满是?

Huangyu Zhang 说:3、设置的BUFFER长度为8,查阅了手册不能够发现从哪里可以读取接收计数器的值,也就是说没接收满前我都不知到BUFFER里存了几个数据。

是的,在 RXRDY 位置位之前,是没有办法检查缓冲区中存储了多少数据的。 

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28035: LIN模块配置成的SCI多级BUFFER模式很不好用,是我理解有误吗?
分享到: 更多 (0)