標題: stc15單片機的串口定時器,是從收到起始位開始計算,還是一直計算? [打印本頁]

作者: Ahchi    時間: 2022-1-24 02:07
標題: stc15單片機的串口定時器,是從收到起始位開始計算,還是一直計算?
想使用stc15的內(nèi)部振蕩器,但擔心其準確率,長時間運行時誤差累積到半個bit那通訊錯誤就非常嚴重了。
如果每次收到起始位后重新裝填計算,那誤差累積就被消除了。
想進行115200,用內(nèi)部晶振行嗎?

作者: munuc_w    時間: 2022-1-24 08:23
異步通信,每傳送一幀數(shù)據(jù)都是從起始位開始同步的。
作者: IdeaMing    時間: 2022-1-24 09:19
您多慮了,串口的起始位顧名思義就是干這個的。
作者: devcang    時間: 2022-1-24 09:31
當然可以了。串口通訊有起止位的。不僅僅是定時器的作用的。
作者: wufa1986    時間: 2022-1-24 09:33
串口通信沒有累積誤差
作者: 188610329    時間: 2022-1-24 15:59
杞人憂天

STC15系列是 波特率 4分頻,即定時器每溢出4次接受一位。
每個字節(jié)傳輸都有起始位,收到起始位后,會在6次溢出后接受第1位,然后每4次溢出接受1位,確保每一位的接收,都在電平最穩(wěn)定的中間位置。按照,這個機制,只要波特率算得正確,晶振頻率只要誤差不要超過4%, 就能正確接受。換言之,只要不是24M的晶振,實際變成25M 就不會有問題。
作者: Ahchi    時間: 2022-1-25 14:43
188610329 發(fā)表于 2022-1-24 15:59
杞人憂天

STC15系列是 波特率 4分頻,即定時器每溢出4次接受一位。

'''''.XX..XX..XX..XX..XX..XX..XX..XX..__是這樣嗎?
你這個解析太棒了,就是我想要的答案了。
4分頻然后去頭去尾就能去掉誤差影響,之前不知道工作原理,以為115200就是一秒定時器相應115200次




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1