登錄|立即注冊(cè)|使用QQ帳號(hào)登錄
論壇 > 24小時(shí)必答區(qū)
發(fā)帖|
看2140|回19|收藏
樓主 ID:237471 只看他
2024-6-12 21:20
1、定時(shí)器設(shè)為5毫秒
2、第一次定時(shí)器中斷,程序開始處理一些事務(wù)
3、由于事務(wù)繁多,或預(yù)估的5毫秒時(shí)間不夠處理完事務(wù),這時(shí)下一個(gè)定時(shí)器中斷時(shí)間到了
4、請(qǐng)問,本次中斷會(huì)被下一個(gè)中斷打斷么,還是會(huì)忽略到來的中斷繼續(xù)處理沒做完的事務(wù),一直到完成本次中斷
沙發(fā) ID:624769 只看他
2024-6-12 22:27
如果,你的定時(shí)器中斷周期是5ms, 而你中斷中需要處理的事件耗時(shí)需要超過5ms,那么,你這個(gè)設(shè)計(jì)是失敗的!
你根本出不了中斷,或者說,有出去這個(gè)動(dòng)作,隨后又進(jìn)去了,那么,你還要中斷程序干什么?直接寫在 while(1)里面就好了。
板凳 ID:1110945 只看他
2024-6-12 23:54
定時(shí)間隔盡量設(shè)長(zhǎng)一些,中斷內(nèi)的程序盡量少一些,
長(zhǎng)時(shí)間才能處理完的任務(wù)要放在大循環(huán)中執(zhí)行。
“中斷函數(shù)重入”這種你不能預(yù)料的事情要杜絕。
一家之言。
地板 ID:1109793 只看他
2024-6-13 07:10
中斷可以被更高級(jí)的中斷,不能被平級(jí)或者自己再次中斷。把中斷里面的耗時(shí)的東西拿到主循環(huán)里面
5# ID:517951 只看他
2024-6-13 07:42
中斷執(zhí)行程序要盡可能的短小精悍, 耗時(shí)過長(zhǎng)的任務(wù)放在main主程序中執(zhí)行. 5ms的中斷程序還沒執(zhí)行完畢, 下一個(gè)5ms又來, 中斷程序不可以被自己打斷的.要等到執(zhí)行完畢以后才能再次進(jìn)入5ms的中斷程序.中斷搶占是要被更高一級(jí)的中斷程序打斷.
6# ID:879348 只看他
2024-6-13 08:38
不會(huì),但是如果一直這樣繁忙,mian函數(shù)就無法運(yùn)行了
7# ID:91150 只看他
2024-6-13 10:55
5#說的 “中斷程序不可以被自己打斷的.要等到執(zhí)行完畢 (這個(gè)中斷程序) 以后才能再次進(jìn)入...(這個(gè))中斷程序.”   是正確的
8# ID:1124287 只看他
2024-6-13 11:31
要看中斷的優(yōu)先級(jí),高的會(huì)打斷低的,低的或同等不會(huì)
9# ID:1118092 只看他
2024-6-13 11:48
如果中斷服務(wù)程序沒有屏蔽定時(shí)器中斷,并且下一個(gè)定時(shí)器中斷的優(yōu)先級(jí)不低于當(dāng)前正在處理的中斷,那么下一個(gè)定時(shí)器中斷會(huì)打斷當(dāng)前的中斷服務(wù)程序,并跳轉(zhuǎn)到新的中斷服務(wù)程序。這可能導(dǎo)致當(dāng)前中斷服務(wù)程序中的數(shù)據(jù)或狀態(tài)被破壞,除非它已經(jīng)被適當(dāng)?shù)乇Wo(hù)起來。
10# ID:1125103 只看他
2024-6-13 17:52
必須手動(dòng)清除這個(gè)中斷標(biāo)志位以后,才會(huì)產(chǎn)生下一個(gè)中斷,你把事情處理完了,再清除標(biāo)志位,這樣就不會(huì)出現(xiàn)沖突的情況了。
11# ID:1125104 只看他
2024-6-13 18:12
When the processor is servicing the interrupt program, the first thing it does is to disable interrupts (this is automatic and it is done by the processor).

When you finish the interrupt and execute the "RETI" instruction (return from interrupt), this instruction automatically will return from interrupt and also it will reenable the interrupts (wich were disabled by the processor when it started executing this intrerrupt).
12# ID:57657 只看他
2024-6-14 17:57
如果下一個(gè)定時(shí)器中斷比當(dāng)前中斷優(yōu)先級(jí)高就能會(huì)被打斷,否則不能,具體見數(shù)據(jù)手冊(cè)。
13# ID:1034262 只看他
2024-6-15 11:26
正在處理中斷時(shí),不會(huì)被中斷打斷,會(huì)處理完成退出后,馬上又進(jìn)來。
中斷處理時(shí)間長(zhǎng)于中斷間隔時(shí)間,結(jié)果是,CPU被拖死,設(shè)計(jì)嚴(yán)重不當(dāng)!一般要求所有中斷耗時(shí)最長(zhǎng)時(shí)占CPU時(shí)間的一半以下為好。
14# ID:237471 只看他
2024-6-16 21:55
經(jīng)過嚴(yán)格測(cè)試,定時(shí)器中斷不會(huì)被自己下一個(gè)中斷打斷,在本次中斷未運(yùn)行完之前,會(huì)忽略正在發(fā)生的定時(shí)器中斷
15# ID:313517 只看他
2024-6-21 23:13
會(huì)的,低優(yōu)先級(jí)的中斷會(huì)被高優(yōu)先級(jí)的中斷所打斷
16# ID:57657 只看他
2024-6-22 11:26
定時(shí)器設(shè)定為5毫秒,定時(shí)器中斷內(nèi)的程序要求必須在5毫秒內(nèi)返回,否則會(huì)導(dǎo)致時(shí)間紊亂。
17# ID:1116447 只看他
2024-6-22 16:51
中斷會(huì)不會(huì)被中斷,要看你自己的中斷優(yōu)先級(jí),中斷等級(jí)低的會(huì)被中斷等級(jí)高的中斷
18# ID:724465 只看他
2024-7-21 20:29
不會(huì),因?yàn)橹袛喾?wù)子程序處理時(shí)間不在定時(shí)器計(jì)數(shù)時(shí)間內(nèi)
19# ID:74687 只看他
2024-7-21 21:17
中斷只改變Flag變量,不干具體的事,具體業(yè)務(wù)處理放進(jìn)main里處理。
20# ID:1128908 只看他
2024-7-21 21:22
中斷服務(wù)程序的執(zhí)行時(shí)間:一旦定時(shí)器中斷被觸發(fā),CPU會(huì)進(jìn)入相應(yīng)的中斷服務(wù)程序。如果當(dāng)前的中斷服務(wù)程序執(zhí)行時(shí)間過長(zhǎng),而下一個(gè)定時(shí)器中斷的時(shí)間已經(jīng)到達(dá),那么CPU的行為將取決于中斷優(yōu)先級(jí)的設(shè)置。  如果當(dāng)前中斷的優(yōu)先級(jí)高于下一個(gè)定時(shí)器中斷的優(yōu)先級(jí),那么CPU將繼續(xù)執(zhí)行當(dāng)前的中斷服務(wù)程序,直到其完成。下一個(gè)定時(shí)器中斷將被暫時(shí)掛起,等待當(dāng)前中斷處理完畢后再進(jìn)行處理。 如果下一個(gè)定時(shí)器中斷的優(yōu)先級(jí)高于或等于當(dāng)前中斷的優(yōu)先級(jí),那么CPU可能會(huì)立即響應(yīng)下一個(gè)定時(shí)器中斷,中斷當(dāng)前的中斷服務(wù)程序,轉(zhuǎn)而執(zhí)行新的中斷服務(wù)程序。這可能會(huì)導(dǎo)致當(dāng)前中斷服務(wù)程序中的部分工作被打斷,需要在新的中斷服務(wù)程序執(zhí)行完畢后,再由CPU決定是否繼續(xù)執(zhí)行之前被打斷的中斷服務(wù)程序。

51黑電子論壇

Powered by Discuz! X3.1

首頁|標(biāo)準(zhǔn)版|觸屏版|電腦版