• 资料介绍
  • 在线预览
  • 相关推荐
申请入驻 产业图谱

LAT1315 串口DMA接收不定长数据的一种方法

2025/03/24
453
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

LAT1315 串口DMA接收不定长数据的一种方法

472.10 KB

前言

使用串口接收不定长数据时,可以有多种方法,比如最常见的有额外使能一个定时器,在超过定时范围未收到后续的字节时,认为此帧结束;或者利用 IDLE 中断,当数据空闲时,自动产生中断;亦或每接收到一个字节后都通过应用程序进行一次处理。这次我们介绍另外一种方法,在 DMA 方式下利用硬件接收超时中断(Receiver timeout interrupt)实现不定长数据的接收。

实现原理

首先,并非所有的 STM32 系列的 MCU,也并非所有的 USART/UART 外设都支持Receiver timeout (RTO)特性,具体的支持情况,可以通过对应芯片的参考手册去查询。对于 MCU 的配置,可以通过 USART_RTOR 寄存器的 RTOEN 位使能接收超时功能,通过 RTO 位域配置超时时间,时间单位为传输一个数据位的时间(即波特率)。

应用示例

HAL 库已经为我们提供了操作 RTO 相关的 API,应用开发过程,我们直接调用即可。

总结

利用 RTO 方式接收不定长串口数据,相比用定时器计时,可以节省一个硬件定时器资源,同时减少了定时器每次进入中断处理的运行时间;相比 IDLE 的方式,可以更灵活的配置超时时间。但需注意的是,所选用的 MCU 以及所使用的 USART/UART 是否支持这个特性要确认好。

在线预览

相关推荐

意法半导体拥有49,000名半导体技术的创造者和创新者,掌握半导体供应链和先进的制造设备。作为一 家半导体垂直整合制造商(IDM),意法半导体与二十多万家客户、成千上万名合作伙伴一起研发产品和 解决方案,共同构建生态系统,帮助他们更好地应对各种挑战和新机遇,满足世界对可持续发展的更高需 求。意法半导体的技术让人们的出行更智能,让电源和能源管理更高效,让云连接的自主化设备应用更广 泛。我们正按计划在所有直接和间接排放(包括范围1和范围2)、产品运输、商务旅行以及员工通勤排 放(重点关注的范围3)方面实现碳中和,并在2027年底前实现100%使用可再生电力的目标。 详情请浏 览意法半导体公司网站:www.st.com.cn