之前一直用的SCIB和SCIC,都没有问题,收发正常。今天试了一下SCIA,一点反应都没有,初始化是直接用B口的改的,如下:
SciaRegs.SCICCR.all = 0x0007; SciaRegs.SCICTL1.all = 0x0003; SciaRegs.SCICTL2.all = 0x0003; SciaRegs.SCICTL2.bit.TXINTENA = 1; SciaRegs.SCICTL2.bit.RXBKINTENA =1; SciaRegs.SCIHBAUD = 0x0000; SciaRegs.SCILBAUD = 0x0051; SciaRegs.SCIFFTX.all = 0xE040; SciaRegs.SCIFFRX.all = 0x6061; SciaRegs.SCIFFCT.all = 0x0; SciaRegs.SCIFFTX.bit.TXFIFOXRESET = 1; SciaRegs.SCIFFRX.bit.RXFIFORESET = 1; SciaRegs.SCICTL1.all = 0x0023;
发送函数: void scia_send(Uint16 a) { while(SciaRegs.SCIFFTX.bit.TXFFST != 0){} SciaRegs.SCITXBUF = a; }
清中断函数:
void ClearSciaIntFlag() { SciaRegs.SCIFFRX.bit.RXFFOVRCLR = 1; // Clear Overflow flag SciaRegs.SCIFFRX.bit.RXFFINTCLR = 1; // Clear Interrupt flag
PieCtrlRegs.PIEACK.all |= 0x080; // Issue PIE ack }
中断配置:
PieVectTable.SCIRXINTA = &sciaRxFifoIsr; IER |= M_INT9; PieCtrlRegs.PIEIER9.bit.INTx1 = 1; // Enable SCIA RE INT
整个A口的配置和B口一样,B口正常,A口没反应,手里的开发板只有BC,看手册A和BC是一样的没有区别,请教下各位,谁知道哪里出问题里,求教!!!