发新帖我要提问
12
返回列表
打印

DSP进行SCI串口通信最后一个数据丢失

[复制链接]
楼主: Varus
手机看帖
扫描二维码
随时随地手机跟帖
21
hudi008| | 2018-11-1 22:27 | 只看该作者 回帖奖励 |倒序浏览
数据还未及时发送出去,新的数据又把发送缓冲区的老数据覆盖了

使用特权

评论回复
22
pixhw| | 2018-11-1 22:28 | 只看该作者
硬件还是软件的问题呢?

使用特权

评论回复
23
lzmm| | 2018-11-1 22:28 | 只看该作者
等待发送缓冲区空才能发送下一个字符

使用特权

评论回复
24
sdlls| | 2018-11-1 22:28 | 只看该作者
串口是不是有问题呢?

使用特权

评论回复
25
febgxu| | 2018-11-1 22:28 | 只看该作者
这个有什么问题吗?

使用特权

评论回复
26
xiaoyaodz| | 2018-11-1 22:28 | 只看该作者
这个你的代码怎么编写的呢?

使用特权

评论回复
27
fentianyou| | 2018-11-1 22:28 | 只看该作者
单步调试运行可以吗?

使用特权

评论回复
28
ruhwa| | 2018-12-4 10:04 | 只看该作者
我是初学者 也遇到了一样的问题
   p=send_str;
   while(*p!='\0')
   {
        
          
                SciaRegs.SCITXBUF = *p;               
                while(SciaRegs.SCICTL2.bit.TXRDY == 0)
                {
                }
            p++;
               
   }
因为没有确认发送缓冲器和移位寄存器都为空 只是检测TXRDY是否为0 所以最后一位总会丢掉
改成 while((SciaRegs.SCICTL2.bit.TXRDY == 0)||(SciaRegs.SCICTL2.bit.TXEMPTY==0)) 问题解决了 希望有所参考

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则