久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

都是main()函數的循環執行惹的禍題

作者:佚名   來源:本站原創   點擊數:  更新時間:2012年11月02日   【字體:

         就在今天好好的一個程序,語發基本上都沒有任何錯誤,和官方的資料都對照了也沒有什么問題但是原本好好的程序就是定時器打不開了。為什么呢?今天又大概6個小時的時間都浪費在這個不起眼的自己曾經不知道也沒注意的問題上。

         首先我跟大家說下我的一下代碼需要實現的功能,非常簡單就是在定時其溢出也就是進入中斷之后單片機通過串口給我的上位機發送一個驗證字符H55,但是調試了一個下午就是沒法實現。大家先看看以下程序!

void main(void)

{

         main_init();     

}

//-----------------主函數初始化------------------------------------

void main_init(void)

{

         EA=1;//開總中斷

         uart_init();

         timer0_init();

}

//-------------------串行口中斷--------------------------

void uart_rec() interrupt 4

{

         if(RI)

         {

                   RI=0;

                   Uart_RD=SBUF;

                   uart_send(Uart_RD);

         }

}

//------------------定時器0初始化函數----------------------------

void timer0_init(void)

{

         EA=1;

         ET0  =1    ;

         TR0  =1    ;

         AUXR|=0X80;

         TMOD|=0x01;

         TH0  =0x00;

         TL0   =0x00;   

}

//------------------定時器0中斷服務函數----------------------------

void timer0() interrupt 1

{

         TH0  =0xff;

         TL0   =0x00;

         uart_send(0x55);    

}

相信大家程序也看完了,我敢保證單片機C編程基礎比較差的肯定找不這問題的所在!其實整個程序的問題主要是出在主函數沒有一個while(1);死循環而程序一直循環執行主函數循環一次的時間小于定時器的定時時間00~65536,故而每次循環都會給定時器的高低八位重新初始化賦值h00、h00,所以導致定時器一直無法溢出去執行定時器中斷函數。相信我說道這里單價應該明白怎么回事了吧!
以本人所犯之錯,希望大家引以為戒!!!

關閉窗口

相關文章

主站蜘蛛池模板: 国产精品国产三级国产aⅴ原创 | 美女视频h | 91精品国产欧美一区二区成人 | 国产午夜亚洲精品不卡 | 亚洲 中文 欧美 日韩 在线观看 | 一区二区视频免费观看 | 久久久999成人 | 日韩国产在线 | 久久久高清| 国产精品大全 | 久久久这里都是精品 | 99久久精品视频免费 | 天天干狠狠操 | 一区二区三区视频在线观看 | 亚洲国产精品成人 | av中文在线观看 | 国产精品久久久久久妇女6080 | 99精品亚洲国产精品久久不卡 | 亚洲欧美日韩精品久久亚洲区 | 国产98色在线 | 日韩 | 亚洲一区二区久久久 | 成人免费视频网站在线看 | 亚洲一区中文字幕在线观看 | 久久免费资源 | 亚洲精品日韩综合观看成人91 | 成人毛片一区二区三区 | 日韩av在线免费 | 一级亚洲| 色婷婷综合久久久久中文一区二区 | av色在线 | 亚洲狠狠 | 日韩视频在线一区 | 黄色av网站在线免费观看 | 欧美精品一二三区 | 狠狠爱综合网 | 激情婷婷成人 | 日韩高清中文字幕 | 国产精品视频偷伦精品视频 | 成人国产午夜在线观看 | 成人在线免费 | 国产日产精品一区二区三区四区 |