请教一个IO口信号检测的问题

时间:2023-01-21 20:12:23
交流电经光耦处理,到单片机IO上的时候就是方波了(如果有交流电输入的话)

定时器2ms扫描一次,如何正确的扫描出IO口的状态

因为有输入的时候IO口的状态也有可能是低

请教下思路,有具体代码更好

5 个解决方案

#1


这个问题没有人回答。。。

#2


你说的不够清楚。。。。

#3


IO口上可能有两种状态
一:方波,频率不定
二:低电平

如何检测者这两种状态,以作他用

#4


1、设两个变量,用于记录高电平和低电平的连续出现次数
2、在中断中检测状态。如果是高电平,刚高电平记数器加一,并清零低电平记数器。反之也是。
3、判断高电平或低电平记数器的值是不是超过设定值。超过说明无交流电输入。
4、判断的敲定值根据要测试的交流电的最低频率来决定。

#5


谢谢LS的,送40分

#1


这个问题没有人回答。。。

#2


你说的不够清楚。。。。

#3


IO口上可能有两种状态
一:方波,频率不定
二:低电平

如何检测者这两种状态,以作他用

#4


1、设两个变量,用于记录高电平和低电平的连续出现次数
2、在中断中检测状态。如果是高电平,刚高电平记数器加一,并清零低电平记数器。反之也是。
3、判断高电平或低电平记数器的值是不是超过设定值。超过说明无交流电输入。
4、判断的敲定值根据要测试的交流电的最低频率来决定。

#5


谢谢LS的,送40分