vipwming 发表于 2018-7-26 18:00:08

怎么实时监听一个IO引脚的电平变化

如题,菜鸟求教。
我只知道读取gpio口电平可使用DigitalIn的read函数,怎么样做到实时监听呢?只能在while(1)里面循环读取吗?

す疯Ⅱ恒す 发表于 2018-7-26 18:30:08

用中断吧,上下降沿都进中断,这样就实时了。

huangyanga 发表于 2018-7-26 18:34:40

是AD输入口的话,配置成ADC模式,不断的读AD值

wenyangzeng 发表于 2018-7-26 19:23:04

或者一直读IO口,或者采用上下沿中断来解决。

jakecumt 发表于 2018-7-26 19:55:15

IO中断最直接,要是有操作系统也可以 做一个任务检测也可以

黑夜之狼 发表于 2018-7-27 09:13:47

如果真的要做到实时,估计中断才能解决吧
如果放在while(1)里面,还有其他的代码的情况下无法做到
所以,用中断,把这个IO设置成中断触发,一旦发生变动,马上响应中断

wudianjun2001 发表于 2018-7-27 09:23:33

中断是最好的办法,或者定时扫描,按键都是这样的

damiaa 发表于 2018-7-27 09:57:10

用中断吧,上下降沿都进中断

jinglixixi 发表于 2018-7-27 10:21:14

视精度的要求和实际任务,只是看电平的高低使用IO口即可,若看精细的变化就要用A/D引脚了。功能不复杂的情况下,循环比较简单;而使用中断则不易丢失关键的信息变化。

xiaolingoei 发表于 2018-7-27 10:48:22

1、GPIO_ReadInputDataBit()函数可以直接读取I/O变化,加一下判断就可以了
2、设置I/O口的外部中断,可以判断上升、下降或者上升下降都判断
页: [1] 2
查看完整版本: 怎么实时监听一个IO引脚的电平变化