TMS320F28335 uart波特率参数设置

结合自己调试的经验,这里做一个总结,uart的波特率参数需要通过计算来得到的,具体方法如下:

void scic_echoback_init()
{
    // Note: Clocks were turned on to the Scib peripheral
    // in the InitSysCtrl() function

    ScicRegs.SCICCR.all =0x0007;   // 1 stop bit,  No loopback
                                   // No parity,8 char bits,
                                   // async mode, idle-line protocol
    ScicRegs.SCICTL1.all =0x0003;  // enable TX, RX, internal SCICLK,
                                   // Disable RX ERR, SLEEP, TXWAKE
    ScicRegs.SCICTL2.all =0x0003;
    ScicRegs.SCICTL2.bit.TXINTENA =1;
    ScicRegs.SCICTL2.bit.RXBKINTENA =1;
    #if (CPU_FRQ_150MHZ)
	
    ScicRegs.SCIHBAUD    =0x0000;  // 115200 baud @LSPCLK = 37.5MHz.
    ScicRegs.SCILBAUD    =0x0027;
    #endif
    #if (CPU_FRQ_100MHZ)
    ScicRegs.SCIHBAUD    =0x0001;  // 9600 baud @LSPCLK = 20MHz.
    ScicRegs.SCILBAUD    =0x0044;
    #endif
    ScicRegs.SCICTL1.all =0x0023;  // Relinquish SCI from Reset
}

其中的ScicRegs.SCIHBAUD以及ScicRegs.SCILBAUD的计算方法如下:

 ScicRegs.SCIHBAUD = (37.5Mhz/(115200*8)-1)>>8
 ScicRegs.SCILBAUD = (37.5Mhz/(115200*8)-1)&0xff

以下总结了几个常用的波特率的设置参数,供参考。

实际波特率 SCIHBAUD SCILBAUD
300 3D 08
600 1E 83

1200

0F 41
2400 7A 00
4800 03 CF
9600 01 E7
19200 00 F3
38400 00 79
57600 00 50
115200 00 27
128000 00 23
256000 00 11
512000 00

08

参考博客:DSP F28335不同波特率参数设置_li707414287的博客-CSDN博客_dsp波特率


若有其他的问题,可以添加一下我们的群:657407920,希望有更多大家加入,一起讨论技术!

你可能感兴趣的:(TI,TMS320F28335)