上位机串口调试软件收到一组好像是上次发送末尾的数据和0x00

2019-07-14 21:57发布

上位机串口调试软件收到一组好像是上次发送末尾的数据和0x00
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
zhanghqi
2019-07-15 15:54

void InitSci(void)
{
         //条件为SCIA的发送和接收GPIO引脚设置为SCITXDA引脚和SCIRXDA引脚
         SciaRegs.SCICCR.bit.STOPBITS=0;//设定1位结束标志位
         SciaRegs.SCICCR.bit.PARITYENA=0;//禁用奇偶校验功能
         SciaRegs.SCICCR.bit.LOOPBKENA=0;//禁用回送测试功能
         SciaRegs.SCICCR.bit.ADDRIDLE_MODE=0;//设定SCIA工作于空闲线模式,用于DSP与PC通信,或DSP对单个DSP
         SciaRegs.SCICCR.bit.SCICHAR=7;//设定SCIA有效数据位数8位
         SciaRegs.SCICTL1.bit.TXENA=1;//SCIA发送引脚发送功能使能
         SciaRegs.SCICTL1.bit.RXENA=1;//SCIA接收引脚接收功能使能
         SciaRegs.SCIHBAUD=0;//波特率设置,查P320,设为19200,对应寄存器值ox00F3
         SciaRegs.SCILBAUD=0xF3;
         SciaRegs.SCIFFTX.bit.SCIFFENA=1;//开启SCIFIFO模式
         SciaRegs.SCIFFTX.bit.TXINTCLR=1;//使能发送中断标志位清零功能,清零发送中断标志位
         SciaRegs.SCIFFTX.bit.TXFFIENA=1;//使能SCIA之FIFO发送中断,CPU级中断在main内已使能
         SciaRegs.SCIFFTX.bit.TXFFILIL=0;//发送FIFO中剩余0个数据,即当前一组16B以内数据发送完后,申请发送中断
         SciaRegs.SCIFFRX.bit.RXFFOVRCLR=1;//使能接收溢出标志位清零功能,清零接收溢出标志位
         //SciaRegs.SCIFFRX.bit.RXFFINTCLR=1;//使能接收中断标志位清零功能,清零接收中断标志位
         SciaRegs.SCIFFRX.bit.RXFFIENA=1;//使能SCIA之FIFO接收中断,CPU级中断在main内已使能
         SciaRegs.SCIFFRX.bit.RXFFIL=16;//接收FIFO中断级位设为16,接收到16个数据后,申请接收中断
         SciaRegs.SCIFFRX.bit.RXFIFORESET=0;//接收FIFO指针复位到0,并禁止接收
         SciaRegs.SCIFFRX.bit.RXFIFORESET=1;   //重启接收FIFO,开始从0号FIFO接收数据
    SciaRegs.SCICTL1.bit.SWRESET=1;//软重启,将SCIA各标志位如TXDY,RXDY设到默认值,直到中断到来
}

一周热门 更多>