|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
請(qǐng)教各位如何做波特率自適應(yīng)時(shí),如何根據(jù)發(fā)送起始碼計(jì)算波特率 |
| 作者:_21icbbs 欄目:單片機(jī) |
例如發(fā)送AAAA,接受到的碼值為3333,設(shè)接受的波特率為X,則發(fā)送波特率為多少? |
| 2樓: | >>參與討論 |
| 作者: stintair 于 2005/7/19 17:18:00 發(fā)布:
關(guān)注中 我以前做過(guò)可改波特率的,是先有一個(gè)默認(rèn)的波特率,然后更改的那種。 我想波特率自適應(yīng)是不是應(yīng)該跟定時(shí)器中斷配合使用啊,根據(jù)第一個(gè)字節(jié)判斷出波特率,然后在單片機(jī)中設(shè)置對(duì)應(yīng)波特率,再開始真正數(shù)據(jù)通信。還請(qǐng)各位高手指點(diǎn)。 |
|
| 3樓: | >>參與討論 |
| 作者: 風(fēng)間逝 于 2005/7/19 18:25:00 發(fā)布:
我也想知道,關(guān)注 |
|
| 4樓: | >>參與討論 |
| 作者: 567 于 2005/7/19 20:22:00 發(fā)布:
發(fā)送字母"U",即二進(jìn)制的01010101 接收端測(cè)量脈沖寬度,換算為波特率. |
|
| 5樓: | >>參與討論 |
| 作者: _21icbbs 于 2005/7/20 10:00:00 發(fā)布:
TO 567 原理是發(fā)送一個(gè)方波,接受方根據(jù)方波計(jì)算出波特率,我想知道的就是如何計(jì)算?有沒有公式? 還請(qǐng)哪位做過(guò)的前輩上來(lái)指點(diǎn)指點(diǎn)…… |
|
| 6樓: | >>參與討論 |
| 作者: nongcunren 于 2005/7/20 11:35:00 發(fā)布:
俺也關(guān)注著那 清高手指教! |
|
| 7樓: | >>參與討論 |
| 作者: 567 于 2005/7/20 19:43:00 發(fā)布:
測(cè)出每一位的時(shí)間,倒數(shù)即是波特率. 再根據(jù)波特率,算出波特率發(fā)生器的參數(shù). 其實(shí)也可以不用這么復(fù)雜,比如用51的T1做脈沖計(jì)時(shí),也用T1做波特率發(fā)生器,那么只要把T1的計(jì)數(shù)值除以16,就可以作為波特率發(fā)生器的重裝值. |
|
| 8樓: | >>參與討論 |
| 作者: _21icbbs 于 2005/7/23 17:47:00 發(fā)布:
只是測(cè)量1位嗎? ‘U’可是一個(gè)字節(jié)。 |
|
| 9樓: | >>參與討論 |
| 作者: 567 于 2005/7/24 21:11:00 發(fā)布:
每一位的時(shí)間都一樣,測(cè)一位和測(cè)一萬(wàn)位有區(qū)別嗎? |
|
| 10樓: | >>參與討論 |
| 作者: _21icbbs 于 2005/7/25 8:28:00 發(fā)布:
如果測(cè)量一個(gè)位,隨機(jī)性是不是太強(qiáng)了? 我這樣想了一下,不知如何? 如果測(cè)量一個(gè)位的話,那么根據(jù)這個(gè)位的計(jì)時(shí)時(shí)間可以得到波特率,然后要求發(fā)送方再發(fā)送一次起始碼,判斷是不是‘U’?如果是‘U’則證明波特率測(cè)算正確,否則重新測(cè)量波特率。 不知道大家平時(shí)用的方法是不是如此? 歡迎有過(guò)設(shè)計(jì)經(jīng)驗(yàn)的前輩發(fā)貼致教~ |
|
| 11樓: | >>參與討論 |
| 作者: _21icbbs 于 2005/7/26 8:10:00 發(fā)布:
看來(lái)大家對(duì)這個(gè)話題都沒什么興趣…… 發(fā)言者寥寥啊…… |
|
| 12樓: | >>參與討論 |
| 作者: HIGHWAY 于 2005/7/26 9:23:00 發(fā)布:
搜索HOTPOWER以前的帖子 |
|
| 13樓: | >>參與討論 |
| 作者: xb 于 2005/7/26 13:57:00 發(fā)布:
采樣 論壇剛開張的時(shí)候我就發(fā)過(guò)這樣的帖子。我推薦一個(gè)方法。假設(shè)A點(diǎn)首先接收并自動(dòng)識(shí)別,B點(diǎn)首先發(fā)送。過(guò)程如下: 1 B點(diǎn)發(fā)送55,或者AA,最好是55,因?yàn)檫@樣高低位是交錯(cuò)的。 2 A點(diǎn)收到低電平后,開始用240KHz的頻率開始采樣,因?yàn)橐话愕?a target="_blank" href="http://m.58mhw.cn/icstock/970/RS232.html">RS232器件支持的頻率都是120KHz。 3 開始采到的必然都是低電平,當(dāng)采到高電平的時(shí)候還是計(jì)數(shù) 4 當(dāng)采到低電平的時(shí)候停止計(jì)數(shù),由計(jì)數(shù)求出時(shí)間(這個(gè)時(shí)間就是一位的時(shí)間),這樣波特率就能求出來(lái)了。 5 B點(diǎn)發(fā)送一個(gè)55后等待5~10字節(jié)的發(fā)送時(shí)間,等待A點(diǎn)處理,并接收A點(diǎn)應(yīng)答,A點(diǎn)此時(shí)按照求出的波特率打開串口, 6 B點(diǎn)繼續(xù)發(fā)送55,A點(diǎn)如果正確收到了55,就返回一個(gè)55,B點(diǎn)接收到后就確立了同一通信波特率。如果A點(diǎn)解析的數(shù)據(jù)不是55,則波特率計(jì)算錯(cuò)誤,不作任何處理,B點(diǎn)沒有收到A點(diǎn)55的應(yīng)答,則繼續(xù)發(fā)送55。直到雙方通信正常。 |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |