This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LAUNCHXL-F28379D: How is Hbaud and Lbaud calculated in SCI??

Part Number: LAUNCHXL-F28379D


I have been trying to understand how sci's baud rate declaration works. For starters, Yes, I went through TRM's  SCI HBAUD registers and calculated accordingly. However, I dont understand the correation between launchapd, example code and the original values I obtained. Example:

For baud rate of 9600, we get BRR as 650 which in hex is supposed to be 0x81. However, in the example code- SCI_loopback, this value is 0x8B. What is causing this change? Also, according to TRM, Hbaud and Lbaud both have baud select registers in them but ony sciLBAUD uses it. What is deciding the HBAUD value to be 0x01 or 0x02? Where is lspclkdiv declared? is it 4 by default? 

Also, please don't guide me to look into TRM. I have already done that a lot of times. I'm posting here because i'm not able to understand what is happening. 

  • To anyone facing similar issue, say your lspclk is 50MHz. Then,

    BRR= LSPCLK / (SCI Asynchronous Baud * 8) - 1

    where, my expected baud rate is 9600.

    so, when i calculate BRR, its value would be 650. You can round it off to 651 as well. This is a base 10 value
    651 in Hex would be 0x28b. 15 to 8 bits would be HBAUD=>0x0002 and 8 to 0 bits would be LBAUD=>0x008b


    Hope this helps someone who struggled with it like me!
  • Hi Silsio,

    Thanks for posting the resolution to your issue!