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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6992|回復: 1
收起左側

[求助][求助]51單片機串口數據發送和定時器中斷問題

[復制鏈接]
ID:18028 發表于 2009-10-12 21:48 | 顯示全部樓層 |閱讀模式

單片機型號是AT89LS52

現在的程序結構是:

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

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

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


出現的問題是:

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

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

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


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

回復

使用道具 舉報

ID:7209 發表于 2009-10-14 08:39 | 顯示全部樓層

理解

     那郁悶很難受

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

  

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩一区二区在线看 | 久草.com | 国产精品久久久久av | 国产成人精品av | 视频一区二区在线观看 | 99国产精品久久久久 | 福利视频网址 | 黄色毛片大全 | 国产激情网 | 在线视频 中文字幕 | 福利视频一区二区 | 亚洲天堂一区 | 91在线视频免费观看 | 久久天堂网| 国产sm主人调教女m视频 | 久久精品一区二区三区四区 | 免费黄色片在线观看 | 国产一区| 小h片免费观看久久久久 | 天天操天天射天天舔 | 精品欧美乱码久久久久久1区2区 | 日韩成人在线观看 | 国产精品日韩一区 | 毛片网络 | 亚洲成人网在线观看 | 狠狠色综合网站久久久久久久 | 羞羞色影院 | 亚洲高清成人 | 国产精品自拍视频网站 | 日韩在线观看网站 | 久久久久无码国产精品一区 | 久久性 | 亚洲一区二区精品 | 国外成人在线视频网站 | 国产91丝袜在线18 | 91精品在线播放 | 国产精品一区二区福利视频 | 国产精品久久二区 | 天堂一区在线观看 | 3p视频在线观看 | 亚州综合一区 |