| 
  |||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe  | 
  
timer2:(自動重載)4mhz,mega16.avricc. | 
  
| 作者:sun0_liang 欄目:單片機 | 
//4MHZ,mega16.avricc.用作定時器(10ms得到一次溢出中斷)時:我的初始化&中斷子程序有何不對的?? void timer2_init(void) { TCCR2=0x00; //stop ASSR =0x00; //不使用async mode TCNT2=0x00; //setup OCR2 =155; //比較值=155 TCCR2=0x0e; //ctc256分頻,不輸出 1110:4/256/155=100hz } void mcu_init(void) { //... timer2_init(); //... MCUCR = 0x00; GICR = 0x00; TIMSK = 0x80; SEI(); } #pragma interrupt_handler timer2_comp_isr:4 void timer2_comp_isr(void) { timer_en; //標(biāo)志 data_led=0x00;outled_data; } //現(xiàn)象:無中斷-〉導(dǎo)致狗狗(1s)餓死了。重啟。  * - 本貼最后修改時間:2004-11-16 17:20:36 修改者:sun0_liang  | 
  
| 2樓: | >>參與討論 | 
| 作者: SUN0_LIANG 于 2004/11/17 8:53:00 發(fā)布:
         懷疑我想當(dāng)然了。 TIMER2自動重載: CRC下:開始TCNT2=0;++;直到=OCR2。此時自動清TCNT2=0;匹配中斷 我想的哪兒不對???  | 
  |
| 3樓: | >>參與討論 | 
| 作者: lizy927 于 2004/11/17 9:41:00 發(fā)布:
         你是用定時器去初始化看門狗嗎? 你的看門狗是怎么初始化的? 還有沒有其他的比TIME2更高的中斷?  | 
  |
| 4樓: | >>參與討論 | 
| 作者: SUN0_LIANG 于 2004/11/17 10:28:00 發(fā)布:
         我是這樣做的:(回lizy927) 定時器給出標(biāo)志。主程序中確認(rèn)標(biāo)志,計數(shù)++。當(dāng)計數(shù)到320MS時,喂狗(1S)。這樣狗可以同時給中斷與主程序看門。 比TIME2更高的中斷,有啊,干嗎?? #define watchdog_init(); /*void watchdog_init(void)*/WDR();WDTCR=0x0E; //{ //} #define watchdog(); watchdog_init(); 程序中: //... watchdog(); //...  | 
  |
| 5樓: | >>參與討論 | 
| 作者: lizy927 于 2004/11/18 14:32:00 發(fā)布:
         更高的中斷會不會干擾你的定時中斷? 應(yīng)該從程序的流程入手 看看是什么問題 最笨的辦法。編一個最小的主程序。只開定時中斷。看看不可以 然后一點一點的加其他功能檢查  | 
  |
| 6樓: | >>參與討論 | 
| 作者: sun0_liang 于 2004/11/18 16:57:00 發(fā)布:
         干擾! 不會把,最多中斷嵌套。 比TIME2更高的中斷,沒有了,一樣。  | 
  |
  | 
    
 
  | 
  
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 | 
Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號  |