|
最近發(fā)現(xiàn)一個(gè)串口的迷惑行為。
單片機(jī)型號(hào):STC8
頻率:24MHz
今天準(zhǔn)備使用串口對(duì)程序進(jìn)行調(diào)試,結(jié)果發(fā)過(guò)來(lái)的內(nèi)容總是出現(xiàn)各種錯(cuò)誤。于是我用示波器看了一下波形。不看不知道,一看下巴都要驚掉了!!
學(xué)過(guò)串口通信原理的師兄都知道,串口起始位是低電平0,停止位是高電平1。但STC8的硬件串口外設(shè)居然會(huì)反著來(lái)。看圖:
字符“A”.png (31.32 KB, 下載次數(shù): 73)
下載附件
2021-1-6 09:28 上傳
數(shù)字“0x55”.png (29.37 KB, 下載次數(shù): 80)
下載附件
2021-1-6 09:27 上傳
圖1發(fā)送的是字符“A”,圖2發(fā)送的是數(shù)字0x55
但吊詭的事情就來(lái)了,圖中的“正確波形”指的是理論上應(yīng)該有的波形,而示波器實(shí)際測(cè)出來(lái)的波形卻與其有不少出入。后來(lái)我發(fā)現(xiàn),STC8單片機(jī)居然把起始位和停止位對(duì)調(diào)了。
我同時(shí)也用光標(biāo)測(cè)量了最小脈沖寬度,大約0.83ms ≈ 833μs,說(shuō)明波特率和時(shí)鐘都是正確的。
求大神解答一下為什么會(huì)出現(xiàn)如此奇怪的情形
|
|