本帖最后由 pigluffy 于 2019-4-17 13:38 编辑
這個問題出在範例有換算上的誤差,只要將範例做修正即可得到正確的baudrate
在這先貼上範例的公式
RH3 = HIBYTE(65536 - (1000000/u32Baudrate)-1); /*16 MHz */
// RL3 = LOBYTE(65536 - (1000000/u32Baudrate)-1); /*16 MHz */
以9600來說 經範例的公式換算後會得到FF96 與手冊上的Ff98不符,如圖片所示:
如果將換算的誤差修正後應該能解決你的問題
|