2013年11月20日 星期三

[STM32] 驗證STM32103CB的USART Baudrate Value

圖一

BRR(Baud Rate Register)是用來設定USART Baudrate的Register,一開始設定baudrate=9600,從Debug發現BRR得到一個0x1D4C(圖一)的值,在好奇心的驅使下,我開始翻手冊,查知BRR的算法如下圖二

圖二
 所以說...,帶入baudrate =9600 、 F = 72000000Hz,可得USARTDIV=468.75,接下來是把這個值,存入BRR,方法為圖三,其中
  • DIV_Mantissa為整數部分
  • DIV_Fraction為小數部分

圖三
則 468 = 111010100b、0.75 = 1100b,故可得知468.75 = 1110101001100b = 0x1D4C

Note:

選擇baudrate,須注意不同的baudrate的有不同錯誤率,可參考圖四

圖四
 Reference :
 [1]  STM32F4 Series (RM0090 - Reference Manual)
 [2]  STM32F4 Series 

沒有留言:

張貼留言