音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

當(dāng)單片機(jī)正在響應(yīng)中斷的時候,又來了新的中斷

作者:XIAOSUN 欄目:單片機(jī)
當(dāng)單片機(jī)正在響應(yīng)中斷的時候,又來了新的中斷
當(dāng)單片機(jī)正在響應(yīng)中斷的時候,又來了新的中斷請求,如何直接跳去執(zhí)行新的中斷?



2樓: >>參與討論
feng_120
PIC
PIC的中斷優(yōu)先級是用戶自己控制的

3樓: >>參與討論
fangyi999
同意樓上的意見
增加一點,18系列有中斷優(yōu)先級

4樓: >>參與討論
xiaosun
可16系列沒有中斷優(yōu)先級
 
5樓: >>參與討論
張明峰
別;
對于PIC的出學(xué)者來說,簡單地老老實實地做完當(dāng)前中斷服務(wù)就趕緊退出返回。PIC的中斷機(jī)制就會立即響應(yīng)新的中斷。

6樓: >>參與討論
eeproom
嚴(yán)重同意教主
    可以通過優(yōu)化設(shè)計,不要讓中斷占用較長時間,在處理每一個中斷的時候關(guān)閉以后的中斷允許,讓它排隊等候。

    當(dāng)然也可以在處理當(dāng)前中斷的時候響應(yīng)新的中斷,你只要不讓堆棧溢出,都辦得到。

7樓: >>參與討論
張明峰
注意
“在處理每一個中斷的時候關(guān)閉以后的中斷允許”,大可不必如此。一旦進(jìn)入中斷,GIE自動變0,不會響應(yīng)任何其他中斷。指令retfie在返回的同時自動把GIE置1。

切記切記:中斷服務(wù)程序中的任何地方都不要使用GIE=1的指令,除非你水平足夠。

8樓: >>參與討論
HotPower
教主就是教主
 
9樓: >>參與討論
ms
不一定吧
可以進(jìn)中斷后設(shè)定一個標(biāo)志
后立刻退出,主程序看有標(biāo)之在執(zhí)行相應(yīng)程序

10樓: >>參與討論
Ardel
請教版主:絕對不能使用GIE=1指令?
我讀到一個張工的回帖,提到“切記切記,絕對不能使用GIE=1指令..”
你的意思:絕對不能使用BSF    INTCON,GIE 指令,還是使用該指令時須非常小心?我對PIC知之不深,在一個程序中已經(jīng)用了BSF    INTCON,GIE,雖暫時未發(fā)現(xiàn)問題,是否留有隱患?若有隱患,須及早消除,敬希不吝賜教!這里先謝過。

11樓: >>參與討論
eeproom
中斷嵌套也不是很可怕
  “在處理每一個中斷的時候關(guān)閉以后的中斷允許,讓它排隊等候”,有點表達(dá)不清。不是關(guān)心GIE. 在響應(yīng)中斷時GIE會自動清零,根據(jù)需要在處理中斷的時候開放當(dāng)前緊要的xIE,GIE=1.同時還要保證在此時開放的中斷發(fā)生前當(dāng)前處理的中斷不可再次發(fā)生。
    還要注意不可以在中斷中調(diào)用同一subroutine,留心堆棧不要溢出。
    讓中斷處理好了才響應(yīng)后來的事件,可能有事故早就不可追回了。

12樓: >>參與討論
felixjoe
關(guān)鍵取決于中斷響應(yīng)的實時性要求有多高
我剛開始做程序時總覺得中斷就要立即處理,特別是在電機(jī)控制時(偶不是學(xué)電機(jī)的)
當(dāng)時做電機(jī)控制,別人的程序測速和控制都有可能有2MS的延時,好象也沒大問題.

后來才明白,其實每一項中斷都有一定的延時承受能力.

要是談到立即響應(yīng),從PIC的中斷發(fā)生,要經(jīng)過判斷中斷源,跳轉(zhuǎn)到中斷處理點,手動保護(hù)現(xiàn)場等,其實已經(jīng)有不少延時了.

所以有時過分強(qiáng)調(diào)實時性,到給自己找麻煩,而效果并不一定好.




13樓: >>參與討論
fxmxh
同意felixjoe的說法,
只要能滿足實際需要的速度,沒必要去考慮中斷嵌套,對于一個主程序循環(huán),中斷的發(fā)生幾乎是不可預(yù)測的;有時也是有害的。

14樓: >>參與討論
kannyhuang
還是老實一點好
在中斷里不能在中斷了,但是標(biāo)志還在,你自己想想怎么辦了

15樓: >>參與討論
yulye
16真的沒有中斷優(yōu)先級?
那就慘了,我必須得要有中斷優(yōu)先級的

16樓: >>參與討論
mcu_51
中斷處理,與水平有限關(guān)系。疑惑極限點了..唉!!!
PIC中斷之中斷

;***************************************************************
    org    4h    ;中斷入口地址
    MOVWF    w_temp    ;
    SWAPF    w_temp,F    ;軟件模擬壓棧處理
    ;
     SWAPF    STATUS,W    ;保護(hù)W累加器與STATUS狀態(tài)寄存器
     ;
     SETbank0        
     BCF    STATUS,IRP
     MOVWF    StatusTemp
     
     MOVFW    FSR    ;保護(hù)SFR
     movwf    fsrTemp
     ;
     MOVFW    PCLATH
     movwf    PCHTemp
     ;
      
     page0            ;0頁
     
;----------------------------------------------
;判斷各中斷標(biāo)志位
;依語句順序 1. CCP2IF
;    2. TMR2IF
;    3. TF2W
;    4. IntTRM0

     
    
    BTFSC    PIR1,CCP1IF
     B    IntCCP2    ;轉(zhuǎn), 捕捉服務(wù)程序
     ;
     BTFSC    PIR1,TMR1IF
    B    IntMR1
    ;
     
     BTFSC    PIR1,TMR2IF    ;TMR2中斷?
    B    TF2W    ;轉(zhuǎn),中斷服務(wù)程序
     

      
RS485TEC2:     B    $     
       
      

     
;;*************************************************************
;TMR2 中斷服務(wù)程序
;每900Hz中斷=3.6864\4(分頻)\256(TMR0)\4
;說明: 中斷使用bank0 中斷總周期不能大于256(TMR0),

TF2W:    ;備份堆棧
    BCF    PIR1,TMR2IF    ;清中斷標(biāo)志
    SWAPF    StatusTemp,W
    MOVWF    STATUS
    MOVFW    w_temp
    CLRF    STATUS
    MOVWF    w_temp1
     
     
    ;
    MOVFW    StatusTemp
    MOVWF    StatusTemp1
    ;
    MOVFW    fsrTemp
    MOVWF    fsrTemp1
    ;
    MOVFW    PCHTemp
    MOVWF    PCHTemp1
    call    T0ret    ;開放中斷
;----------------------------------------------

         .掃描LED
         .掃描KEY
         .
         .


;*******************************************************************************
     ;軟件模擬退棧處理
;退棧說明: 因為中斷臨時保護(hù)寄存器都是使用BANK0的.還原狀態(tài)寄存器,必須放在最后.
;W的臨時保護(hù)寄存器使用了兩個20H ,A0H 所以與狀態(tài)寄存器無關(guān)    
Intret    BCF    INTCON,GIE
    MOVFW    w_temp1  
    MOVWF    w_temp
    SETbank1    ;    
    MOVWF    w_temp
    SETbank0    ;    
    
    
    
    MOVFW    StatusTemp1
    MOVWF    StatusTemp
    ;
    MOVFW    fsrTemp1
    MOVWF    fsrTemp
    ;
    MOVFW    PCHTemp1
    MOVWF    PCHTemp
      
     MOVFW    PCHTemp
     movwf    PCLATH
     ;
     MOVFW    fsrTemp
     movwf    FSR
     ;
     SWAPF    StatusTemp,w ;還原W累加器與STATUS狀態(tài)寄存器中斷的值
     MOVWF    STATUS
     ;    
     SWAPF    w_temp,W
     
T0ret     RETFIE

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
PIC16F73-MLF封裝,有誰知道那家代理?
一個子程序?qū)崿F(xiàn)任意多位BCD碼減法
為何在這里進(jìn)入死循環(huán)?
求救!斑主你好,我用的是P16F872,它經(jīng)常復(fù)位不正常,但程序偶爾也可以跑起來?
求救!
免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號