|
|||||||||||
| 技術(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 |
誰調(diào)試過張明峰編寫的軟件串口程序(UART)? |
| 作者:hzwei 欄目:單片機(jī) |
我試用了張明峰編寫的軟件UART,用兩片12F629,一個(gè)發(fā)送,一個(gè)接收,發(fā)現(xiàn)發(fā)送的正常,用示波器觀察發(fā)出來的數(shù)據(jù)是正確的(設(shè)置的是2400的波特率,示波器觀察一個(gè)比特占460us左右),可是接收到的數(shù)據(jù)不正確,可能是什么原因呢? |
| 2樓: | >>參與討論 |
| 作者: xieyuanbin 于 2005/3/14 11:38:00 發(fā)布:
為正確接收,需注意采樣速率 一般在檢測(cè)到起始位之前采樣要8倍的波特率速度,檢測(cè)到之后延時(shí)半個(gè)數(shù)據(jù)位,相當(dāng)于數(shù)據(jù)的中點(diǎn),然后再隔一個(gè)數(shù)據(jù)位檢測(cè)一次就行了.推薦數(shù)據(jù)采樣也使用相當(dāng)于3-4倍的波特率速度檢測(cè).接收的停止位要比發(fā)送的停止位稍短,比如發(fā)送停止位用2位,那么接收端設(shè)置成1位比較可靠.這樣可以有個(gè)緩沖時(shí)間,有利同步. |
|
| 3樓: | >>參與討論 |
| 作者: pheavecn 于 2005/3/20 22:32:00 發(fā)布:
xieyuanbin斑竹領(lǐng)會(huì)三倍速不夠。 三倍速,就是只要以3倍于波特率的速率采樣就可以了。 三倍速可以保證不會(huì)丟失碼元。 |
|
| 4樓: | >>參與討論 |
| 作者: fineasy 于 2005/3/21 10:15:00 發(fā)布:
程序挺好! 有外部中斷的話,可用外部中斷校正采樣點(diǎn),更簡(jiǎn)單。 |
|
| 5樓: | >>參與討論 |
| 作者: hzwei 于 2005/3/21 22:40:00 發(fā)布:
怎么用外部中斷來效正采樣點(diǎn)呢? 三倍才樣一般都是在脈沖中點(diǎn)左右采樣,不知道用哪個(gè)中斷可以效正采樣點(diǎn)? |
|
| 6樓: | >>參與討論 |
| 作者: xieyuanbin 于 2005/3/22 7:39:00 發(fā)布:
電平改變中斷。 |
|
| 7樓: | >>參與討論 |
| 作者: pheavecn 于 2005/3/22 16:56:00 發(fā)布:
三倍速法不需要校正采樣點(diǎn)。 |
|
| 8樓: | >>參與討論 |
| 作者: hzwei 于 2005/3/22 23:24:00 發(fā)布:
3倍采樣只是采樣時(shí)間上的安排,并沒有考慮采樣時(shí)的干擾 有什么好辦法把采樣時(shí)的干擾避過呢 |
|
| 9樓: | >>參與討論 |
| 作者: pheavecn 于 2005/3/25 8:33:00 發(fā)布:
三倍速的抗干擾比不上硬件的16倍速采樣。 如果要抗干擾,可以用協(xié)議來做。 或提高采樣速率,比如4倍速,就可以通過比較中間2個(gè)位來抗干擾。 |
|
| 10樓: | >>參與討論 |
| 作者: hzwei 于 2005/3/29 22:54:00 發(fā)布:
用中斷監(jiān)測(cè)起始位是不是要好點(diǎn)? 我用兩個(gè)單片機(jī)通信,兩邊的收發(fā)都采用3倍波特率軟件uart,發(fā)現(xiàn)a發(fā)到b的可以正確接收,b發(fā)到a的沒能正確接收,用示波器測(cè)波形,發(fā)現(xiàn)a發(fā)出的電平為412us,接近2400波特率的416us電平,b發(fā)出的為400us,偏離了16us,這造成b接收的數(shù)據(jù)不正確(b發(fā)出3字節(jié)的ox00,但是a收到0x80,0x00,0x00,好像接收第一字節(jié)是把停止位當(dāng)數(shù)據(jù)了)。如果用中斷來檢測(cè)起始位,是不是在波特率偏差比較大的情況下也能正確接收呢? |
|
| 11樓: | >>參與討論 |
| 作者: zqskq 于 2006/6/8 10:45:00 發(fā)布:
急需軟件串口程序(UART) 不知能否給本人mail一份我們張斑主的軟件串口程序(UART)! 急! 多謝! |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |