找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 652|回复: 5
打印 上一主题 下一主题
收起左侧

单片机的电平变化中断为什么要读端口

[复制链接]
跳转到指定楼层
楼主
ID:146878 发表于 2023-3-1 15:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
很多8位单片机,比如PIC的,端口电平变化中断,可以用来做中断和唤醒单片机。看过好多家的历程在设置中断前要读一次相应端口。
但是我试过不读也能工作。那么这个读一下的目的是什么,不读有什么隐患?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1045628 发表于 2023-3-2 11:27 | 只看该作者
没用过8位的,但按32位的单片机,某些中断信号是可以由不同的端口触发的,为了确定是哪个口触发,一般读一下
回复

使用道具 举报

板凳
ID:996773 发表于 2023-3-2 15:02 | 只看该作者
我对中断使用不是很熟悉,有个疑问,既然外部中断已经发生了,说明端口处已经低电平或者

高电平触发过了,甚至上升沿触发过了,再去读端口状态已经晚了,早就一瞬间过去了,还能读到啥?
回复

使用道具 举报

地板
ID:1045628 发表于 2023-3-2 16:54 | 只看该作者
hi等你 发表于 2023-3-2 15:02
我对中断使用不是很熟悉,有个疑问,既然外部中断已经发生了,说明端口处已经低电平或者

高电平触发过了 ...

比如有两个端口A,B,正常状态都是低电平,共用一个中断向量,但是两个口功能不一样,都设置为上升沿触发,当中断触发的时候,你就需要读一下哪个端口处于高电平,就是他触发的,再去执行他的功能;当然,如果芯片提供了类似 中断标志寄存器 的寄存器,那读标志会好很多;类似STM32 的外部中断10~15一共6个都是用的同一个中断向量
回复

使用道具 举报

5#
ID:935919 发表于 2023-3-3 14:33 | 只看该作者
很多8位单片机 在IO口变化的时候都会误触发(比如设置下降沿触发, 结果上升沿也触发了), 增加电平检测是为了防止误触发. 另外在IO高频变化的时候, 也有一定的滤波作用.
回复

使用道具 举报

6#
ID:965189 发表于 2023-3-3 14:43 | 只看该作者
读电平可以防止外部脉冲干扰形成触发。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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