新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)串口通信錯(cuò)誤的原因

51單片機(jī)串口通信錯(cuò)誤的原因

作者: 時(shí)間:2013-01-16 來源:網(wǎng)絡(luò) 收藏

之前發(fā)過一篇博文《MCU-51程序》,程序挺好用的,之后一直把串口當(dāng)做測試用途,像正在調(diào)試USB,用的是,PC通過(USB)發(fā)一個(gè)字符到單片機(jī),單片機(jī)再通過串口回傳這個(gè)字符,從而驗(yàn)證是否收到字符,結(jié)果出現(xiàn)意想不到的錯(cuò)誤,錯(cuò)誤還挺有規(guī)律的。就是發(fā)16位字符0A,接收到字符用16位顯示是8A;發(fā)2A,顯示AA;發(fā)2B,顯示AB,就是最高位(第8位)0變?yōu)?了,試驗(yàn)了幾個(gè)都是一樣。

串口通信調(diào)試界面

之前老板也是同樣的問題(可見這事是多么普遍),不過當(dāng)時(shí)由于不是我的事,就沒管。問了一下老板,才知道是晶振的問題,之前板子是用11.0952MHz晶振,現(xiàn)在的板子是12MHz,程序中也沒改預(yù)置值,直接就下載了,結(jié)果是誤差太多,前面的碼沒事,但誤差積累,最后的碼0就變成1了。敲響警鐘!


上一頁 1 2 下一頁

關(guān)鍵詞: 51單片機(jī) 串口通信 CH372

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉