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;
}