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.

tms28379D SCI RX

Other Parts Discussed in Thread: C2000WARE

hi TI! Help me pleas find mistake in my settings.

I set up sci Chanel A on my launch pad , pin 64,65 with out idle, only control scirxst REG in my program.

low speed bus have 60 000 000 hz clock.

Speed of sci -115 200. Calculated in my program , 60 000 000/(115200*8-1).

then i send frame by mi convertor usb-ttl , and watch oscilogram, it is ok, frame is good , but sci don't work on RX mode.

Initialization SCI A

GpioCtrlRegs.GPCGMUX1.bit.GPIO64 = 0x01; // SCIRXDA 
GpioCtrlRegs.GPCMUX1.bit.GPIO64 = 0x02; // SCIRXDA /
GpioCtrlRegs.GPCGMUX1.bit.GPIO65 = 0x01; // SCITXDA 
GpioCtrlRegs.GPCMUX1.bit.GPIO65 = 0x02; // SCITXDA 

uartLocl->regs->SCIFFTX.all = 0x0000; 
uartLocl->regs->SCICCR.all = 0x0007; 
uartLocl->regs->SCICTL1.all = 0x0000; 
tmp = uartBRate[baudrate][0]; // 65=115200
uartLocl->regs->SCILBAUD.all = tmp; 
uartLocl->regs->SCIHBAUD.all = (tmp>>8); 
uartLocl->regs->SCIFFTX.all = 0x8000; 
uartLocl->regs->SCIFFRX.all = 0; 
uartLocl->regs->SCICTL1.all = 0x0020; 
uartLocl->regs->SCIFFCT.all = 0x0000
uartLocl->regs->SCIPRI.all = 0x0000;

Init RX 

uartLocl->regs->SCICTL1.bit.RXENA  = 1;    

Controll buffer RX, Bit err is 0/

pragma CODE_SECTION(sci_rx, ".TI.ramfunc")
Uint16 sci_rx(Tuart *uartLocl)
{
if((uartLocl->regs->SCIRXST.bit.RXRDY) && ( uartLocl->regs->SCIRXST.bit.RXERROR == 0 )){
return uartLocl->regs->SCIRXBUF.all & 0x00FF; 
}

  • ressive buffer is always empty in my settings, loopback mod in examples work with idle line with my pins 64,65 . I dont understend why it doesnt work with my settings, and work in example settings with idle line
  • Hi Serhii,

    Did you start with one of the SCI examples in C2000ware to build your code? An easier path might be to start with SCI echoback example and get that to work with the PC. Next, comment out the code that echos/sends any messages and just use the RX portion. Next switch to your USB-TTL device and customize the code further as needed.

    If you don't want to do that, you can also run the SCI echoback example and compare the SCI register settings with however your code initializes the registers.