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

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

請用過PICC的指點,急死了

作者:tangq 欄目:單片機
請用過PICC的指點,急死了
用MPLAB5.7和PICC8.01PL3編譯,中斷使用INT(RB0)和TMR0,INTCON=0B101100000;
中斷中使用
   void  interrupt   int_ser()

{
       if (INTF==1)
          {
            out=0;
            INTF=0;
            if (run_start_time==1)
                  {time_clock++;}
         //  DISPLAY();
             OPTION=OPTION^0B01000000;
            
          }
           //    if   (TMR2IF==1)
           //      {
           //         DISPLAY();
           //         TMR2IF=0;
            //          }




       if (T0IF==1)
         {
            DISPLAY();
            T0IF=0;
          }
   
   ei();
}

運行中,程序會飛掉,如果屏蔽INT中斷,程序運行很好,如果屏蔽TMR0程序運行也正常,但是兩個中斷同時開,程序就會出問題,在ICD中單步調(diào)試,BTFSS 0X6,0X4 ;明明RB4是低電平,也會當作高電平執(zhí)行。
還有,出故障的時間不確定,有時候要運行幾次才出現(xiàn)錯誤,有時候剛開始就出問題。在關閉TMR0,使用TMR2時,現(xiàn)象相同。INT中斷檢測的是50赫茲

2樓: >>參與討論
張明峰
畫蛇添足
"ei();" 純屬多余,有百害而無一益。

3樓: >>參與討論
痞子
可能是堆棧益出?
 
4樓: >>參與討論
tangq
太感謝了
張教主果然一針見血,就是“EI()”惹的禍,只是不明白為什么會這樣,看過程序的匯編碼,沒有看出問題阿。
另外,張教主是否可以出本書了,談談對PICC應用的體會,讓我等后進著也少走彎路,我想弟兄們定會捧場。
同時也謝謝痞子兄。

5樓: >>參與討論
張明峰
要理解PIC中斷機制
如果認為用C編程就可以不用看數(shù)據(jù)手冊了,那你的彎路還有的走了。

6樓: >>參與討論
lb0021
那最終怎么解決的呢?我也同時在用這兩個中斷。
 
7樓: >>參與討論
lb0021
難道去掉ei();就OK了?什么道理?
不就是多一條bsf intcon,gie嗎?怎么會這么嚴重?

8樓: >>參與討論
wwllzz
粗看了一下,我懷疑還可能是隔離問題
 
9樓: >>參與討論
ljrwzm
加上ei();會發(fā)生中斷嵌套,導致堆棧溢出
看一下編譯以后的指令,在你的ei();指令后還有若干條中斷現(xiàn)場恢復指令,PIC是允許中斷自身嵌套的

10樓: >>參與討論
bolofeng
中斷嵌套惹的禍
 
11樓: >>參與討論
lb0021
對了,謝謝!
 
參與討論
昵稱:
討論內(nèi)容:
 
 
相關帖子
誰有PIC 18 AND HT-PIC 8.02的serial number
用匯編編的文件如何嵌入到C文件中
OSD?
SPI的軟件模擬程序
PIC16CXX的中斷矢量都在04H處嗎?data sheet怎么沒有找到介紹?
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


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