新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 關(guān)于PIC24的DISI禁止中斷指令

關(guān)于PIC24的DISI禁止中斷指令

作者: 時(shí)間:2013-03-07 來源:網(wǎng)絡(luò) 收藏

指令是,

這條指令可以把1-6優(yōu)先級中斷禁止一個(gè)固定的時(shí)間,用于一些對時(shí)間特性要求嚴(yán)格的代碼段執(zhí)行前關(guān)閉中斷.

最大可以禁止中斷時(shí)間為16384 個(gè)指令周期.

這條指令的執(zhí)行的時(shí)候,1-6級別中斷立即被禁止,同時(shí)把CNT寄存器賦值為16384,CNT寄存器賦按每個(gè)指令周期遞減,當(dāng)DISICNT為0的時(shí)候,中斷禁止結(jié)束.

在DISI指令禁止中斷期間,用戶可以寫DISICNT延長或者縮短中斷禁止時(shí)間,或者直接對DISICNT寫0,立即結(jié)束中斷禁止.

注意:

在DISI未執(zhí)行的時(shí)候,直接寫DISICNT為非0數(shù)值無效,不能禁止中斷.

要中斷禁止生效必須先執(zhí)行DISICNT指令

如果要一直禁止中斷,可以用如下方法:

1. 使用PUSH 指令將當(dāng)前的SR 值壓入軟件堆棧。

2. 通過將值0xE0 與SRL 進(jìn)行“或”運(yùn)算而將CPU 優(yōu)先級強(qiáng)制設(shè)置為7。



關(guān)鍵詞: PIC24 DISI 禁止中斷指令

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉