你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分
如果放在while(1)里面,还有其他的代码的情况下无法做到
所以,用中断,把这个IO设置成中断触发,一旦发生变动,马上响应中断
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分
2、设置I/O口的外部中断,可以判断上升、下降或者上升下降都判断
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分