Forums DSP/DSC Boards TMS320F2812 Problem in UART of TMS320f2812

Problem in UART of TMS320f2812

Link to this post 03 Jun 14


I used your code for the UART program. You used SCIA but i want to use SCIB. So when i change the required things i dont get the output, but when i use scia i get the output.


#include "DSP281x_Device.h"

SysCtrlRegs 0x0068; // Setup the watchdog
// 0x00E8 to disable the Watchdog , Prescaler = 1
// 0x00AF to NOT disable the Watchdog, Prescaler = 64
SysCtrlRegs 0; // Watchdog generates a RESET
SysCtrlRegs.PLLCR.bit 10; // Setup the Clock PLL to multiply by 5

SysCtrlRegs.HISPCP 0x1; // Setup Highspeed Clock Prescaler to divide by 2
SysCtrlRegs.LOSPCP 0x2; // Setup Lowspeed CLock Prescaler to divide by 4

// Peripheral clock enables set for the Reset

Can you point out the mistakes in the above code that i am making.

Link to this post 03 Jun 14


welcome to pantech, you said that you modified C file according to SCIB . could you please attach your C file so that i can check here.

Note: please don't upload c file , try to change the extension(.txt) as file.txt

Link to this post 06 Jun 14


Here i attached your requested code. Please find in the attachment. This C file has verified with the TMS320F2812 kit., This code is working.

We transmitting a characters from TMS320F2812 kit to PC serial port. Please check the output at Hyperterminal on PC.

Note: please change the extension.txt to .c

  1. UART_SCIB_F2812.txt
Link to this post 06 Jun 14


The problem using the SCI-B to transmit a string is already sorted out. Thanks for your code.
Now i wanted to receive a character via the SCI-B and thus generate an interrupt which will pull down the B port pins (to be exact B0 to B7). The sending of bits via the HyperTerminal to my custom board is all working as i have checked through an oscilloscope. So im receiving the character but the interrupt is not generated . I am also getting a value of C09C in my ScibRegs.RXBUF.all. This means i am getting parity and frame errors. But i dont know how and why.
Thanks for all your help

Much appreciated


  1. New Text Document (3).txt
  2. New Text Document (4).txt
  3. New Text Document (5).txt
Link to this post 06 Jun 14


First check this code, This code will receive the character and transmit the same character to the PC HYPERTERMINAL, just like a loop back. if this code works please let me know , then i try for Interrupt coding.

Note: check and change the baud rates according to you.

  1. F2812_SCIB_RXandTX.txt
Link to this post 06 Jun 14

Thiyagarajan S,

I ran your program and it is working fine on my computer

Link to this post 06 Jun 14

Thank you so much
I finally got the output.