找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2981|回復: 3
打印 上一主題 下一主題
收起左側

51單片機判斷中斷觸發(fā)順序問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:307244 發(fā)表于 2018-4-26 18:07 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
兩個外部中斷,EX0和EX1,如果觸發(fā)順序是EX0 EX1,flag為1,如果觸發(fā)順序是EX1 EX0,flag為0,如何解決?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:138119 發(fā)表于 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)
{
        ;//第三種情況
}

評分

參與人數(shù) 1黑幣 +80 收起 理由
admin + 80 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

板凳
ID:317364 發(fā)表于 2018-4-26 20:58 | 只看該作者
可以不錯
回復

使用道具 舉報

地板
ID:123289 發(fā)表于 2018-4-26 22:22 | 只看該作者
這里隱含了一個重要的量:何時開始,如果沒有起點,是談不上先后的!
在剛開始的時候,并不知道誰先誰后,這時候FLAG當=?。
樓主的命題,未說明清楚!
模糊的方法是:假設兩者是輪流到來的,那么:
當EX0到來時,就將FLAG清0,理由在EX0之前一定有EX1,所以認為是先EX1后EX0。
同理:
當EX1到來時,就將FLAG置1,理由在EX1之前一定有EX0,所以認為是先EX0后EX1。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表