找回密码
 立即注册

QQ登录

只需一步,快速开始

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

用单片机外设读电平,一定需要需要加中断吗?求助大佬

[复制链接]
跳转到指定楼层
楼主
ID:625947 发表于 2020-11-12 12:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:328014 发表于 2020-11-12 14:32 | 只看该作者
可以不使用中断,用循环判断来读取啊
回复

使用道具 举报

板凳
ID:387856 发表于 2020-11-12 14:46 | 只看该作者
如果你的MCU是睡眠模式,你不用中断读取IO口的变化的话,你MCU换不醒啊。
回复

使用道具 举报

地板
ID:222273 发表于 2020-11-12 14:47 | 只看该作者
不需要,读取外部电平和中断没关系;
看看例程是怎么操作IO口进行读取的,一般先进行IO口的初始化,然后就可以读取了
回复

使用道具 举报

5#
ID:687694 发表于 2020-11-12 14:58 | 只看该作者
不用的。一般51单片机gpio上电默认准双向口,不过现在很多单片机gpio上电都被默认为高阻态,请查阅手册将gpio配置为准双向口,或者高阻输入口,直接读取io口是0还是1就可以了例如:
sbit key=P0^0;//定义key代表P0^0口bit x;//定义一个变量x来存放P^0的电平数值
void main(void)
{
……x=key;       //此处示例是读取gpio电平给变量x。此处gpio最好设置为高阻输入态,如果是准双向口带内部上拉可能会影响前端电路电位。
if(key==0)//此处示例就是读取gpio:P0^0的电平判断执行程序,一般按键程序都是如此实现的,注意:此设置为准双向口,带内部上。
{
……
}
……
}


注意!以上只是大多数51单片机通用示例,具体gpio口的使用还是要参考芯片的用户手册。
回复

使用道具 举报

6#
ID:490561 发表于 2020-11-12 15:48 | 只看该作者
可以分两个方面来说:1.单片机引脚设为输入,看外接电路情况加硬件或软件的上拉或者下拉电阻;然后可以用查询方式或者中断方式进行引脚状态的读取。2.是否选择中断方式读取引脚电平,一般看这个电平是否是关键的信号,实时性要求高的用中断,否则可以用查询。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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