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

2019-07-14 21:57发布

上位机串口调试软件收到一组好像是上次发送末尾的数据和0x00
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
zhanghqi
1楼-- · 2019-07-15 05:06
具体为执行完SciaRegs.SCICTL1.bit.SWRESET=1;//软重启
zhenykun
2楼-- · 2019-07-15 07:55
SCI初始化程序看看
wyjie
3楼-- · 2019-07-15 11:46
对啊,得看程序才能下结论
zhanghqi
4楼-- · 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设到默认值,直到中断到来
}
wyjie
5楼-- · 2019-07-15 16:27
 精彩回答 2  元偷偷看……
zhanghqi
6楼-- · 2019-07-15 21:46
结贴了,多谢大家讨论这么多哈,呵呵

一周热门 更多>