当前位置: 代码迷 >> VxWorks >> 串口"死掉"的有关问题
  详细解决方案

串口"死掉"的有关问题

热度:4383   发布时间:2013-02-26 00:00:00.0
请教大家串口"死掉"的问题
Tornador 2.2 Vxworks+S3C2440+摄像头


串口0:和模块通讯
串口1:控制台

遇到的问题是:
摄像头一直拍照的情况下,同时发送大量数据到模块,
非常容易出现串口0死掉的情况就是,接收还能正常接收,发送根本无法发送数据(接示波器无信号)


串口发送的原理是要发送数据的时候调用TxStart,写数据到串口FIFO,FIFO数据发完后产生中断后再写数据到FIFO
如此循环。

我加了写trace发现,TxtStart没有被调用,所以发送的动作根本无法启动。



请教各位这可能是什么原因?谢谢大家了

------解决方案--------------------------------------------------------
恩我也正好遇到类似的问题
,没搞定,关注中。
------解决方案--------------------------------------------------------
有没有可能由于某种原因FIFO的数据一直发送不完,导致循环退不出,所以驱动不会再去调用Txstart ?
------解决方案--------------------------------------------------------
另外的原因就是你的任务优先级设的不合理!
------解决方案--------------------------------------------------------
以前调试串口的时候也遇到类似的问题,大致是因为发生了溢出错误后导致 不能接受到数据了。

你可以试试把串口的中断优先级设置为最高,或者把波特率设置的小一点。

最好使用硬件协议通讯,或者软件协议XON/XOFF协议
  相关解决方案