|
技術(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)問用24M晶振可以接收9600的波特率嗎? |
作者:tianbi 欄目:單片機(jī) |
請(qǐng)問單片機(jī)用24M晶振可以正確接收到9600的波特率數(shù)據(jù)嗎? 因?yàn)槲疫要接受一個(gè)PS/2的數(shù)據(jù),波特率大概是1.25K左右,不能用11.0592M的晶振, 用22.1184M的可以正確接收到1.25K的波特率嗎? |
2樓: | >>參與討論 |
作者: zgl7903 于 2006/9/8 10:36:00 發(fā)布:
PS/2是同步通信,對(duì)晶振要求不高 |
3樓: | >>參與討論 |
作者: tianbi 于 2006/9/8 10:52:00 發(fā)布:
不是吧 我用11.0592M根本接收不到正確的PS/2的數(shù)據(jù),難道要用TXD抑制PS/2的clock腳?? |
4樓: | >>參與討論 |
作者: zgl7903 于 2006/9/8 11:04:00 發(fā)布:
個(gè)人見解 如果LZ的MCU不支持同步通訊外部時(shí)鐘,那就放棄使用UART功能接收,模擬接收。 PS/2設(shè)備主動(dòng)發(fā)送時(shí)鐘,不同的設(shè)備可能工作在不同的頻率 好像是10-50K,且數(shù)據(jù)時(shí)在沿上傳送,詳細(xì)的看PS/2的技術(shù)協(xié)議。就算這個(gè)1.25K的調(diào)好了,再換一個(gè)設(shè)備時(shí) 那又完蛋了。 |
5樓: | >>參與討論 |
作者: tianbi 于 2006/9/8 11:46:00 發(fā)布:
不太明白你的意思 那我應(yīng)該怎么接收呢? 模擬接收是怎么接收?有類似的程序嗎?謝謝 是判斷它時(shí)鐘的下降沿或者上升沿,然后再接收數(shù)據(jù)嗎?這個(gè)可以用RXD和TXD實(shí)現(xiàn)嗎? 謝謝 |
6樓: | >>參與討論 |
作者: maychang 于 2006/9/8 11:53:00 發(fā)布:
回樓主 同步串行接收,就是判斷它時(shí)鐘的下降沿或者上升沿,然后再接收數(shù)據(jù)。 不同PS2設(shè)備的時(shí)鐘頻率相差很大,且不固定,軟件模擬接收必須每個(gè)時(shí)鐘脈沖作一次判斷。 |
7樓: | >>參與討論 |
作者: ljxh401 于 2006/9/8 11:58:00 發(fā)布:
采用stc的單片機(jī) 串口可以使用計(jì)時(shí)器2 好像 沒有1/12分頻的 那么24m即使做9600的通信誤差不會(huì)大 可以正常通信的 PS/2直接使用中斷來(lái)檢測(cè)時(shí)鐘脈沖來(lái)進(jìn)行通信吧 |
8樓: | >>參與討論 |
作者: jyswhw 于 2006/9/8 13:01:00 發(fā)布:
有波特率計(jì)算器,下一個(gè)算算 標(biāo)準(zhǔn)波特率 實(shí)際波特率 置初值 誤差 20M: 50 50 C569 0.00 75 75 D8F1 0.00 110 110 E55F 0.00 150 150 EC79 0.00 200 200 F15B 0.00 300 300 F63D 0.00 600 600 FB1F 0.00 1200 1200 FD8F 0.00 2400 2403 FEC8 +0.12 4800 4807 FF64 +0.14 7200 7211 FF98 +0.15 9600 9615 FFB2 +0.15 14400 14423 FFCC +0.15 19200 19230 FFD9 +0.15 28800 28846 FFE6 +0.15 38400 37500 FFEC -2.34 57600 57692 FFF3 +0.15 76800 75000 FFF6 -2.34 128000 125000 FFFA -2.34 153600 150000 FFFB -2.34 256000 250000 FFFD -2.34 22.1184M: 50 50 CA01 0.00 75 75 DC01 0.00 110 110 E776 0.00 150 150 EE01 0.00 200 200 F281 0.00 300 300 F701 0.00 600 600 FB81 0.00 1200 1200 FDC0 0.00 2400 2400 FEE0 0.00 4800 4800 FF70 0.00 7200 7200 FFA0 0.00 9600 9600 FFB8 0.00 14400 14400 FFD0 0.00 19200 19200 FFDC 0.00 28800 28800 FFE8 0.00 38400 38400 FFEE 0.00 57600 57600 FFF4 0.00 76800 76800 FFF7 0.00 115200 115200 FFFA 0.00 230400 230400 FFFD 0.00 |
9樓: | >>參與討論 |
作者: tianbi 于 2006/9/8 14:23:00 發(fā)布:
回maychang 請(qǐng)問如何用軟件模擬接收呢?在每個(gè)時(shí)鐘脈沖作一次判斷進(jìn)行接收數(shù)據(jù),沒有看到過類似的例子阿? 謝謝! |
10樓: | >>參與討論 |
作者: maychang 于 2006/9/8 14:41:00 發(fā)布:
軟件模擬接收同步串行信號(hào)確實(shí)比較困難,發(fā)送倒是容易 只能用外部中斷接收時(shí)鐘信號(hào),中斷程序里接收數(shù)據(jù),然后移位以拼成完整的一字節(jié)或多字節(jié),所以傳輸不能太快。不過接收PS2信號(hào)是足夠了。 如果時(shí)鐘相位不合適,還必須將時(shí)鐘反相。 |
11樓: | >>參與討論 |
作者: coldra 于 2006/9/8 14:46:00 發(fā)布:
寫過一個(gè)模擬異步串口收發(fā)程序 參考吧 |
12樓: | >>參與討論 |
作者: tianbi 于 2006/9/8 15:29:00 發(fā)布:
謝謝,我參考一下 謝謝,我看一下 |
13樓: | >>參與討論 |
作者: tianbi 于 2006/9/8 15:49:00 發(fā)布:
不太懂... |
14樓: | >>參與討論 |
作者: champtek 于 2006/9/8 16:05:00 發(fā)布:
什么晶振都可以的啊,看你程序了 |
15樓: | >>參與討論 |
作者: aceice 于 2006/9/8 16:08:00 發(fā)布:
用24.576MHZ的,沒有誤差~ |
16樓: | >>參與討論 |
作者: 5880527 于 2006/9/8 22:35:00 發(fā)布:
9600完全可以的,22M的也很好用 |
|
|
免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號(hào) |