OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3967|回复: 2

关于串口的空闲中断,使用USART_ClearITPendingBit清除中断位不管用

[复制链接]

11

主题

114

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1128
金钱
1128
注册时间
2021-6-17
在线时间
206 小时
发表于 2022-3-25 18:25:07 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 ZKX182 于 2022-3-25 18:27 编辑

写了个串口程序,在调试的时候发现,当进入到串口空闲中断时使用USART_ClearITPendingBit()函数清除了空闲中断,但是在中断函数里还是运行了好几次(count会自加很多次),感觉空闲中断并没有立即被清除掉,但是当我在进入空闲中断时,在读一次DR寄存器的值,空闲中断就只进一次(count只自加一次),想问一下这是什么原因

屏幕截图 2022-03-25 181710.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2022-3-26 00:34:58 | 显示全部楼层
回复

使用道具 举报

11

主题

114

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1128
金钱
1128
注册时间
2021-6-17
在线时间
206 小时
 楼主| 发表于 2022-3-28 17:20:51 | 显示全部楼层
本帖最后由 ZKX182 于 2022-3-28 17:24 编辑

我想问的是为什么我使用USART_ClearITpendingBit()函数清除中断位,按道理来讲,count应该只自加一次,但是调试时发现count自加了好几次;说明这个空闲中断没有立即清除,那么USART_ClearITpendingBit这个函数的作用是啥
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-25 23:58

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表