[PIC®/AVR®/dsPIC®产品] PIC18F46K22 串口1 不进入接收中断

[复制链接]
986|3
 楼主| chuanhuang 发表于 2025-4-18 07:58 | 显示全部楼层 |阅读模式
本帖最后由 chuanhuang 于 2025-4-18 08:34 编辑

  • ‌中断标志位未清除‌:在串口接收中断服务程序的开头,确保清除了中断标志位。如果中断标志位没有及时清除,可能会导致中断服务程序不再触发。可以通过以下代码清除中断标志位:

    cCopy Code




    if (RC1IF) {    RC1IF = 0;  // 清除接收中断标志位}


小灵通2018 发表于 2025-4-22 20:44 | 显示全部楼层
是的,这是个好方法。先检测是否清除,没有就清除了。
kepe 发表于 2025-4-24 14:29 | 显示全部楼层
在串口接收中断服务程序的开头,确保清除了中断标志位。
绒兔星球 发表于 2025-8-29 12:55 | 显示全部楼层
PIC18F46K22 串口1 不进入接收中断,用100字说明
排查 PIC18F46K22 串口 1 不进接收中断,先确认中断使能:置位 RC1IE(接收中断允许)、GIE/GIEH(全局中断)及 PEIE/PIEH(外设中断)。再检查串口配置,确保 SPBRG 值匹配波特率,RCSTA 寄存器的 SPEN(串口使能)和 CREN(接收使能)已置 1。也需排查硬件接线(TX/RX 是否反接)及中断服务函数是否正确定义
您需要登录后才可以回帖 登录 | 注册

本版积分规则

114

主题

114

帖子

0

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