標(biāo)題:
51單片機(jī)判斷中斷觸發(fā)順序問(wèn)題
[打印本頁(yè)]
作者:
一折
時(shí)間:
2018-4-26 18:07
標(biāo)題:
51單片機(jī)判斷中斷觸發(fā)順序問(wèn)題
兩個(gè)外部中斷,EX0和EX1,如果觸發(fā)順序是EX0 EX1,flag為1,如果觸發(fā)順序是EX1 EX0,flag為0,如何解決?
作者:
yfpc2006
時(shí)間:
2018-4-26 19:22
//思路僅供參考
if(EX0 == 1 && EX1 == 0)
{
flag = 1;
}
else if(EX0 == 0 && EX1 == 1)
{
flag = 0;
}
else
{
;//第三種情況
}
//或者:
uchar f0,f1;
if(EX0 == 1 )
{
f0 = 1;
}
if(f0 == 1 && EX1 == 0)
{
f0 = 0;
flag = 1;
}
//=============================
if(EX1 == 1 )
{
f1 = 1;
}
if(f1 == 1 && EX0 == 0)
{
f1 = 0;
flag = 0;
}
//==============================
if(f0 == 1 && f1 == 1)
{
;//第三種情況
}
作者:
1085405788
時(shí)間:
2018-4-26 20:58
可以不錯(cuò)
作者:
yzwzfyz
時(shí)間:
2018-4-26 22:22
這里隱含了一個(gè)重要的量:何時(shí)開(kāi)始,如果沒(méi)有起點(diǎn),是談不上先后的!
在剛開(kāi)始的時(shí)候,并不知道誰(shuí)先誰(shuí)后,這時(shí)候FLAG當(dāng)=?。
樓主的命題,未說(shuō)明清楚!
模糊的方法是:假設(shè)兩者是輪流到來(lái)的,那么:
當(dāng)EX0到來(lái)時(shí),就將FLAG清0,理由在EX0之前一定有EX1,所以認(rèn)為是先EX1后EX0。
同理:
當(dāng)EX1到來(lái)時(shí),就將FLAG置1,理由在EX1之前一定有EX0,所以認(rèn)為是先EX0后EX1。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1