空闲总线检测的疑问
在阅读APM32F103的datasheet时,看到USART中,极海有实现空闲总线的检测,有标志位可查询,有中断可触发。但是没有说明这人上“空闲”多长时间?各位网友,有人做过类似的测试吗?
从上面的图例来看,像是一个字节的空闲时间后,就触发了。
我没有经过实际实验来验证 我估计是参考LIN总线的空闲帧来处理吧!
只有一个字节的时间间隔 jobszheng 发表于 2025-4-26 19:45
从上面的图例来看,像是一个字节的空闲时间后,就触发了。
我没有经过实际实验来验证 ...
这个是官方的说明吗? lemonboard 发表于 2025-4-26 19:58
我估计是参考LIN总线的空闲帧来处理吧!
只有一个字节的时间间隔
LIN总线 没有使用过呀 空闲的时间与当前通信的波特率等UART的配置相关。
因为空闲帧其实是一个完全“1”的数据帧,而一个数据帧的传输时间与波特率大小,停止位配置,奇偶校验位配置等相关。时间长度计算参考一个数据帧的传输时间。
计算公式:
空闲帧时间 =(1 个起始位 + 数据位数 + (若使能则包含 1 个奇偶校验位) + 停止位数) × (1 / 波特率)
举例:若配置為 8 位数据、不使用奇偶校验、1 个停止位、波特率 115200,则空闲帧总比特数为
1(起始位) + 8(数据位) + 1(停止位) = 10(bit),
那么空闲帧时间约为 10 × (1 / 115200) ≈ 86.8 μs。
希望可以帮到您哈
官方的说明来了。
做为帧尾判别,这一个空闲帧也是足够了
页:
[1]