你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
技术帖
话题
资源
创客秀
视频
标签
积分商城
每日签到
怎么实时监听一个IO引脚的电平变化
[复制链接]
vipwming
提问时间:2018-7-26 18:00 /
如题,菜鸟求教。
我只知道读取gpio口电平可使用DigitalIn的read函数,怎么样做到实时监听呢?只能在while(1)里面循环读取吗?
赞
0
收藏
0
评论
11
分享
发布时间:2018-7-26 18:00
举报
请先
登录
后回复
11个回答
疯de_恒
回答时间:2018-7-26 18:30:08
a0a.1 32b0c
用中断吧,上下降沿都进中断,这样就实时了。
评分
参与人数
1
蝴蝶豆
+3
收起
理由
zero99
+ 3
查看全部评分
赞
0
评论
回复
支持
反对
huangyanga
回答时间:2018-7-26 18:34:40
a0a.1 32b0c
是AD输入口的话,配置成ADC模式,不断的读AD值
评分
参与人数
1
蝴蝶豆
+1
收起
理由
zero99
+ 1
查看全部评分
赞
0
评论
回复
支持
反对
wenyangzeng
回答时间:2018-7-26 19:23:04
a0a.1 32b0c
或者一直读IO口,或者采用上下沿中断来解决。
评分
参与人数
1
蝴蝶豆
+1
收起
理由
zero99
+ 1
查看全部评分
赞
0
评论
回复
支持
反对
jakecumt
回答时间:2018-7-26 19:55:15
a0a.1 32b0c
IO中断最直接,要是有操作系统也可以 做一个任务检测也可以
评分
参与人数
1
蝴蝶豆
+1
收起
理由
zero99
+ 1
查看全部评分
赞
0
评论
回复
支持
反对
黑夜之狼
回答时间:2018-7-27 09:13:47
a0a.1 32b0c
如果真的要做到实时,估计中断才能解决吧
如果放在while(1)里面,还有其他的代码的情况下无法做到
所以,用中断,把这个IO设置成中断触发,一旦发生变动,马上响应中断
评分
参与人数
1
蝴蝶豆
+3
收起
理由
zero99
+ 3
查看全部评分
赞
0
评论
回复
支持
反对
wudianjun2001
回答时间:2018-7-27 09:23:33
a0a.1 32b0c
中断是最好的办法,或者定时扫描,按键都是这样的
评分
参与人数
1
蝴蝶豆
+1
收起
理由
zero99
+ 1
查看全部评分
赞
0
评论
回复
支持
反对
damiaa
回答时间:2018-7-27 09:57:10
a0a.1 32b0c
用中断吧,上下降沿都进中断
评分
参与人数
1
蝴蝶豆
+1
收起
理由
zero99
+ 1
查看全部评分
赞
0
评论
回复
支持
反对
jinglixixi
回答时间:2018-7-27 10:21:14
a0a.1 32b0c
视精度的要求和实际任务,只是看电平的高低使用IO口即可,若看精细的变化就要用A/D引脚了。功能不复杂的情况下,循环比较简单;而使用中断则不易丢失关键的信息变化。
评分
参与人数
1
蝴蝶豆
+2
收起
理由
zero99
+ 2
查看全部评分
赞
0
评论
回复
支持
反对
xiaolingoei
回答时间:2018-7-27 10:48:22
a0a.1 32b0c
1、GPIO_ReadInputDataBit()函数可以直接读取I/O变化,加一下判断就可以了
2、设置I/O口的外部中断,可以判断上升、下降或者上升下降都判断
评分
参与人数
1
蝴蝶豆
+2
收起
理由
zero99
+ 2
查看全部评分
赞
0
评论
回复
支持
反对
TLLED
回答时间:2018-7-27 13:51:20
a0a.1 32b0c
看实时要求有多高,实时性要求比较高的话,需要用中断,输入捕获功能,实时性要求不是特别高,可以在主函数里面读IO口,也可以在定时器中断里面定时去读IO口。
评分
参与人数
1
蝴蝶豆
+3
收起
理由
zero99
+ 3
查看全部评分
赞
0
评论
回复
支持
反对
STM1024
回答时间:2018-7-27 14:07:10
a0a.1 32b0c
肯定是配置成外部中断啊
评分
参与人数
1
蝴蝶豆
+1
收起
理由
zero99
+ 1
查看全部评分
赞
0
评论
回复
支持
反对
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分
如果放在while(1)里面,还有其他的代码的情况下无法做到
所以,用中断,把这个IO设置成中断触发,一旦发生变动,马上响应中断
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分
2、设置I/O口的外部中断,可以判断上升、下降或者上升下降都判断
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分