大家有没有遇见这种情况,比如我用串口调试助手循环发11 22 33 44 55 这5组数据给DSP,然后在程序里写入a[5]这个数组进行读取,按理来说a[0]=11,a[2]=22,a[3]=33,a[4]=44,a[5]=55.而且应该一直保持不变,但过一段时间(时间有长有短),数组读数就会发生错位,而且错位位数不定,比如变成a[0]=44,a[2]=55,a[3]=11,a[4]=22,a[5]=33.请教大神,这是什么原因呢?我觉得是丢了数据导致赋值错位,我的波特率是115200,发送间隔10ms,没有用FIFO,用普通中断接收,换了好几种调试助手都没有用。大家觉得是DSP的问题还是串口芯片的问题还是CCS3.3的问题还是波特率误差的原因呢?这种现象是不是丢了数据呢?为什么会这样?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
谢谢,不过我还有一个疑问,SCI传输的时候帧头也应该是当做一般的数据传下来吧,那我还是要正常的从SCIRXBUF里面读取啊,你的意思是不是我定义两个数组,第一个用来放包括帧头帧尾在内的所有数据,第二个用来方判断成立之后的数据呢?
一周热门 更多>