| 
 同個程式不同版子就有不同結果,看起來很像內振16MHz所造成的誤差,
 
 這是因為範例有換算上的誤差,只要將範例做修正即可得到正確的baudrate
 
 在這先貼上範例的公式
 
 RH3    = HIBYTE(65536 - (1000000/u32Baudrate)-1);                  /*16 MHz */
 //                RL3    = LOBYTE(65536 - (1000000/u32Baudrate)-1);                        /*16 MHz */
 
 以9600來說  經範例的公式換算後會得到FF96  與手冊上的FF98不符,如圖片所示:
 
 如果將換算的誤差修正後應該能解決你的問題
 |