欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: [求助][求助]51單片機串口數據發送和定時器中斷問題 [打印本頁]

作者: comdoc    時間: 2009-10-12 21:48
標題: [求助][求助]51單片機串口數據發送和定時器中斷問題

單片機型號是AT89LS52

現在的程序結構是:

timer0:由蜂鳴器操作觸發,觸發期間大概每0.3毫秒中斷一次,中斷服務函數處理少量蜂鳴器代碼(7行);

timer1:從系統啟動到關機結束一直開啟,每2毫秒中斷一次,中斷服務函數處理代碼較多。

串口波特率:115200,由timer2產生;
中斷優先級串口最高,也即設置IP=0X10;
串口接收數據以中斷方式,發送數據以輪詢方式。


出現的問題是:

當timer0中斷觸發時(由蜂鳴器操作觸發),會嚴重影響串口通信,單片機在收到數據后要向上位機回復數據,上位機每次都能收到數據,但是收到的回復數據100次中會有30次左右為錯誤數據,最常見的是幀頭的首字符錯誤(應該為2,但是收到的為0)。

當屏蔽掉timer0中斷后,只有timer1中斷和串口中斷工作,上位機還是會有收到數據錯誤的問題,但錯誤的次數大為減少,而且若精簡timer1中斷服務函數中的代碼,錯誤還會繼續下降。若將timer1中斷由2ms改為30ms一次后,再不會發生串口發送數據錯誤問題。

我也是該開始接觸嵌入式編程,51也是第一次見,很多技術細節不甚清楚,那位仁兄有這方面的經驗,還望不吝賜教,尤其是怎么理清這些中斷間的關系和干擾?還串口發送數據(輪詢方式)時要注意的關鍵問題等。


估計是中斷時序混亂問題,我已經被困擾了2天了,很郁悶。


作者: wxs732    時間: 2009-10-14 08:39

理解

     那郁悶很難受

    我也是有幾條指令需要用串口發送 可不只應該怎么寫

  






歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1