|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統 驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業(yè) | CAN-bus/DeviceNe |
串口接收,敬請幫忙猜測是哪方面的問題 |
| 作者:云中雪 欄目:單片機 |
因為不知是哪方面的問題,所以只好多寫一點,勞煩諸君多看了:) 若還有不清之處,我再補充。 基本情況介紹: 用單片機(偉福計算機仿真,12M晶桭)接收處理一通信設備發(fā)過來的串口信息,占用comm1,同時在計算機上用ComTools軟件監(jiān)測發(fā)來的串口信息(占用comm2,與單片機并接,只收不發(fā)) 串口設置:波特率:2400 2 JBC RI, REC_GOOD JMP REC1_NEXT REC_GOOD: mov a, sbuf mov r2, a mov dptr, #rec_com_coun movx a, @dptr inc a movx @dptr, a mov dptr, #rec_com_buffer add a, dpl mov dpl, a mov a, r2 movx @dptr, a jmp rec_com_exit rec_com_exit: rec1_next: pop 2 pop 1 pop a pop psw pop dpl pop dph RETI |
| 2樓: | >>參與討論 |
| 作者: jani 于 2004/9/30 18:27:00 發(fā)布:
對PC上位機不了解。既然“該單片機程序使用多年,工作一直正常”,那么程序應該沒問題了吧?是不是新主板波特率沒設置。克俣炔灰恢?俺也不知道,猜的:) |
|
| 3樓: | >>參與討論 |
| 作者: 云中雪 于 2004/10/9 23:45:00 發(fā)布:
感謝與補充說明及一些網友的看法 大家好,國慶玩得開心吧 ----當我在準備網上發(fā)貼問這個串口通信的問題時,一同事狠潑冷水,說單片機程序與硬件結合緊密,局外人不看圖紙根本搞不清,加之發(fā)生的情況我也描述不清,貼上來根本不會有人看,更不說回了。。。。所以我更得感謝看貼、回貼的諸位,“幫助那些需要幫助的人,是對幫助你的人最大的感謝”,我挺欣賞這句話的,正因為諸位熱心人的存在,才讓我們這些新人對這個論壇對這個網絡更充滿信心和熱情, -----對前面的串口問題補充一點說明:1、我的問題概括的講就是:單片機程序與計算機上的ComTools軟件,收到老板的串口信息一致,收到新板信息就不一致,其中單片機程序為錯碼;而新、老板的區(qū)別僅是串口信息量的變化,即老板發(fā)的是協議A、B、C,而新板發(fā)的是協議A、B、D、E。 2、不管新老板子,ComTools軟件監(jiān)測的串口信息都是正確的,收到的那些碼都是通信協議約定的形式,也與實際上情況一致。另外我發(fā)現我把ComTools軟件串口設置的停止位1位改為2位,收到的碼也正確。 3、新板上沒有什么硬件設置;通信設備自帶的狀態(tài)管理程序不用作任何改變,更換新老板都正常顯示,該程序也是通過串口協議來工作的,用ComTools軟件監(jiān)測串口情況上所述。 ―――一些網友有如下見解,希望能對大家有所啟發(fā)與幫助。 1、《單片機精英聯盟》的cf100認為:“---新板的波特率?看樣子又象同步不對?” ――“異步還是同步工作的?協議上是否一致?8位還是10位?先MSB還是LSB?一個無校驗,另一個是否有校驗? 看了幾個簡單的信號,高電平脈沖數好象一樣多的,但排列上有點差別! 2、 http://bbs.ele-diy.com/單片機愛好者-的lcsome在《單片機技術與教學論壇》認為:―――“。。。像丟碼現象極似波特率不一至造成的。出奇的是,你電腦COM2僅是只收不發(fā),應該不會影響到兩設備的通訊,但是,問題又肯定在設備的新板上,所以我的懷疑是新板具有波特率自適應功能,想辦法鎖定波特率! ―――“。。。你細心分析,正確數據與單片機數據如此的相似,僅從第八位數據開始變形。我只能分析是波特率不一至造成的,你試下把以上幾組數據都用波形圖繪出來,去掉時序后如果是同一個數據,那足以證明我的說法是對的。你用偉福計算機仿真直接查看串口接收數據區(qū)應只能檢查數據吧?如果仿真抽樣時間過長,分析的數據是失敗的。同時ComTools軟件監(jiān)測與仿真也不同步,可以說,證明不了數據比舊版變大了! 3、《電子愛好者社區(qū)》的硅動力認為:“---出現這個情況的原因主要有: 1、波特率不匹配 2、通訊協議可能有問題 3、看看是不是狗的問題 4、是不是RS232電平匹配出問題了” |
|
| 4樓: | >>參與討論 |
| 作者: tjdp 于 2004/10/13 16:55:00 發(fā)布:
估計是新板子的波特率不對。 |
|
| 5樓: | >>參與討論 |
| 作者: jani 于 2004/10/13 18:45:00 發(fā)布:
啊,你通訊協議都改了?那單片機程序通訊部分不是也要跟著改才行哦 |
|
| 6樓: | >>參與討論 |
| 作者: yaner 于 2004/10/19 15:06:00 發(fā)布:
看你接收到的數據,有可能是數據單片機丟碼了。因為你的第一個數據都是正確的。 你可以把特率設置的高一點試試看。。ㄈ19200等) |
|
|
|
| 免費注冊為維庫電子開發(fā)網會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |