求助,解決89s52的一個關(guān)于中斷的問題
我最近做了一個自傲程序,要求外部中斷觸發(fā),然后啟動定時中斷輸出一個特殊波形,這個波形是根據(jù)查表法得到的.其實主要要求是輸出的波形和外部觸發(fā)脈沖是同步的.現(xiàn)在面臨的問題是我的外部觸發(fā)脈沖不是十分定時,前后可能差一毫秒或半毫秒的,但表格中的數(shù)據(jù)是一定的,所以雖然我定時輸出波形,有時輸出波形要長于實際時間,有時又?jǐn)嘤趯嶋H時間,這時要求不管波形輸出完整與否,必須在外部中斷到達(dá)后重新輸出波形,上一個輸出的波形以后不再輸出,這個問題怎么解決?,不知說清楚了沒有,要是有興趣的話發(fā)emails:zhangruiping@emails.bjut.edu.cn,qq:64892932
全部回復(fù)(3)
正序查看
倒序查看
我理解你的意思是:
當(dāng)有中斷輸入時,會有一個輸出,而你的輸出程序是在中斷程序里運行的
也就是說你可能在輸出第一個波形還沒結(jié)束前(第一個中斷程序還沒運行完畢)又發(fā)生了一次中斷,當(dāng)然第二次中斷沒有得到執(zhí)行.而你希望第二次中斷來時結(jié)束第一次還沒完成的中斷程序轉(zhuǎn)去重新執(zhí)行中斷程序來達(dá)到同步目的.
如果是這樣的話,那我想可以這樣做:只在中斷服務(wù)程序里放置標(biāo)致位,由外部子程序根據(jù)標(biāo)致位來輸出波形,這樣就可以保證每次中斷都得到執(zhí)行.
當(dāng)有中斷輸入時,會有一個輸出,而你的輸出程序是在中斷程序里運行的
也就是說你可能在輸出第一個波形還沒結(jié)束前(第一個中斷程序還沒運行完畢)又發(fā)生了一次中斷,當(dāng)然第二次中斷沒有得到執(zhí)行.而你希望第二次中斷來時結(jié)束第一次還沒完成的中斷程序轉(zhuǎn)去重新執(zhí)行中斷程序來達(dá)到同步目的.
如果是這樣的話,那我想可以這樣做:只在中斷服務(wù)程序里放置標(biāo)致位,由外部子程序根據(jù)標(biāo)致位來輸出波形,這樣就可以保證每次中斷都得到執(zhí)行.
0
回復(fù)
@abing
我理解你的意思是:當(dāng)有中斷輸入時,會有一個輸出,而你的輸出程序是在中斷程序里運行的也就是說你可能在輸出第一個波形還沒結(jié)束前(第一個中斷程序還沒運行完畢)又發(fā)生了一次中斷,當(dāng)然第二次中斷沒有得到執(zhí)行.而你希望第二次中斷來時結(jié)束第一次還沒完成的中斷程序轉(zhuǎn)去重新執(zhí)行中斷程序來達(dá)到同步目的.如果是這樣的話,那我想可以這樣做:只在中斷服務(wù)程序里放置標(biāo)致位,由外部子程序根據(jù)標(biāo)致位來輸出波形,這樣就可以保證每次中斷都得到執(zhí)行.
能留你的emails嗎,想向你請教
0
回復(fù)