飞思卡尔Kinetis系列的UART模块自带IDLE Line即总线空闲检测功能,如下图。这个IDLE Line detection和DMA巧妙结合起来可以很好的解决上述的问题,即当连续的一帧数据发送过来时(长度不确定),可以通过DMA将数据存放到RAM区的Buffer中(事先给Buffer预留一定的空间),当一帧数据发送完成时IDLE Detection功能会从最后一个数据的STOP位开始检测,当检测到连续10或者13个高电平时,即表示没有start位过来了,即判断上一帧数据已经传输完毕,此时UART可以产生IDLE Line中断(即在整个传送过程中只有这一次中断),在此中断中可以置一个数据帧接收完成标志,然后在主程序可以对接收到的数据进行解包处理。
相关文章
- 12-24《Soft-NMS – Improving Object Detection With One Line of Code》论文翻译
- 12-24line-height垂直居中的原理
- 12-24line-height垂直居中的原理
- 12-24IDLE Line detection原理
- 12-24Flink实例(129):状态管理(十八)Table API 和 SQL 模块状态管理(三) Flink SQL空闲状态保留时间(idle state retention time)实现原理
- 12-24Can't use Subversion command line client: svn. Errors found while svn working copies detection.
- 12-24使用intellij的svn时提示出错: Can't use Subversion command line client: svn.Errors found while svn working copies detection.
- 12-24【论文阅读】Sliding Line Point Regression for Shape Robust Scene Text Detection