单片机中一个I⼀O信号的上升沿或下降沿在单片机中C语言怎么写,不用中断

回答的不详细
2025-03-05 05:31:21
推荐回答(4个)
回答1:

不用中断只能用查询了。
你只能写一个while循环,然后时刻判断IO电平。
上一次循环是低电平,下次变成高电平了,就可以判断来了一个上升沿。
注意信号上升时间和你的单片机时钟周期的关系,也就是说,信号上升沿要小于你查询两次所用的时间。如果信号你不能改变,那么你就需要纪录多次查询的结果,这样能识别比较慢的沿。

回答2:

读IO;
保存当前状态;
if( 之前状态为 1 && 当前状态为 0)
{
下降沿;
}
else if ( 之前状态为 0 && 当前状态为 1 )
{
上升沿;
}
else
{
没发生变化
}

回答3:

while(1)
{
if(px^x)
{
while(px^x){}
//下降沿程序
}
else
{
while(!px^x){}
//上升沿程序
}
}
有回答就不错了,知足吧

回答4:

用扫描程序可以吗