void scia_fifo_init() //FIFO寄存器配置
{
SciaRegs.SCICCR.all =0x0007; // 1 stop bit, No loopback 無環回 SCI通信控制寄存器
// No parity,8 char bits,無校驗,8個字符
// async mode, idle-line protocol 異步,空閒模式
SciaRegs.SCICTL1.all =0x0003; // enable TX, RX(向緩衝區傳輸), internal SCICLK, 使能收發引腳,SCICLK時鐘週期
// Disable RX ERR, SLEEP, TXWAKE
//SCITXBUF寄存器中斷使能。該位控制由TXRDY標誌位(SCICTL2.7)置1引起的中斷請求。
//但是,它不會阻止設置TXRDY標誌(設置表示寄存器SCITXBUF已準備好接收另一個字符)。
SciaRegs.SCICTL2.bit.TXINTENA =1;
//接收器緩衝/中斷中斷使能。 該位控制由RXRDY標誌或BRKDT標誌(位SCIRXST.6和.5)置1引起的中斷請求。
//但是,RX / BK INT ENA不會阻止這些標誌的設置。
SciaRegs.SCICTL2.bit.RXBKINTENA =1;
//SCI 波特率控制寄存器
SciaRegs.SCIHBAUD = 0x0000;
SciaRegs.SCILBAUD = SCI_PRD; //(150E6/4/(100E3*8))-1 150E6/4=LSPCLCK(默認低速時鐘4倍分頻) SCI_PRD=BRR
SciaRegs.SCICCR.bit.LOOPBKENA =1; // Enable loop back
SciaRegs.SCIFFTX.all=0xC028; //FIFO 發送寄存器
SciaRegs.SCIFFRX.all=0x0028; //FIFO 接收寄存器
SciaRegs.SCIFFCT.all=0x00; //FIFO 控制寄存器
SciaRegs.SCICTL1.all =0x0023; // Relinquish SCI from Reset 重置SCI,循環上一步SCICTL1的以下的操作
SciaRegs.SCIFFTX.bit.TXFIFOXRESET=1; //重新啓用FIFO發送操作
SciaRegs.SCIFFRX.bit.RXFIFORESET=1; //重新啓用FIFO接收操作
}