c语言同时读取多个串口数据

dancingmokey 2011-08-11 07:14:43
两个串口各有一路数据流过来,要求同时读两路数据然后分别用tcp协议发出去。小弟最近才开始做嵌入式,感到没什么头绪,希望有人帮个忙,给个思路~~多谢~~
...全文
713 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
funcye 2011-08-11
  • 打赏
  • 举报
回复 1
楼主如果需要很高的实时性的话,那么我建议你使用一些带有DMA功能的单片机或者DSP。
可以在程序开启的时候先行设置好DMA。这里可以将串口的帧同步脉冲作为DMA的同步事件。
在DMA完成指定长度的数据接收后向MCU的CPU发送中断请求,这时,由CPU打包,打包完成后再由DMA发送出去。
此种方法是实时性很高的。而且,几乎不会因为两个串口同时发送数据而产生冲突或者CPU处理不过来的情况。
bjtea 2011-08-11
  • 打赏
  • 举报
回复
两个串口均采用接收中断方式接收数据。谁先中断,先读谁;收齐两个串口的数据后,再打包送出去,一般采用UDP协议。

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧