[APM32E0] USART串口中断学习之匹配字符中断

[复制链接]
198|1
FrostShimmer 发表于 2025-11-11 19:24 | 显示全部楼层 |阅读模式
极海APM32E030的串口中断在F103系列下新增了不少功能特性。比如今天要实验的字符匹配中断。
什么是字符匹配中断呢?我理解上就是串口接收打开后,MCU利用硬件外设资源监控着接收寄存器,当有接收数据与设置的字符匹配后,触发中断以进行提示。
它的工作原理:匹配字符作用于多机通讯且进入静默状态或者停机模式时的 7 位地址 标记唤醒检测。(发送器的字符最高位应该为 1)也用于正常接收过程中 的字符检测。此时,若接收到的 8 位字节与 ADDRH ,ADDRL匹配,则 CM** 位被置位,如果打开中断,则中断触发。
我们以Modbus-RTU的从站帧接收为例。我们做为从站,只接收主站发过来的自己ID地址的通讯帧。我们将自己的ID值设置到ADDRH和ADDRL域中。这时,我们的从站则不用care主站发送给其它从站的通讯帧了。在大量通讯下,我们的从站MCU可以不再重复进入串口接收中断,影响整体系统。
注意:
  • 此特性在正常接收过程中不可与静默状态同时启用。
  • 上述配置必须在关闭接收功能或USART功能时进行设置。
  • 字符匹配中断需要先在USART_CTRL1寄存器的bit14位(CMIEN)


CloudKiss 发表于 2025-11-14 23:15 | 显示全部楼层
这个功能配合静默模式,可以有效减少中断的触发次数,尤其在RS485网络环境下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

47

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部