Linux下串口数据同时收发,请教高手!

O饭太稀O 2011-06-10 04:10:44
通过串口发送一串十六进制指令“68 04 00 01 05”可以得到接收到一串十六进制的数据串“68 07 00 81 00 02 41 CB”,但我这里想同时发送三组指令即“68 04 00 01 05”、“68 04 00 02 06”和“68 04 00 03 07”,然后想通过串口同时接收这三组指令发送后对应的数据即“68 07 00 81 00 02 41 CB”、“68 07 00 82 10 01 32 CC ”和“68 07 00 83 02 79 22 27 ”。该如何实现?
小弟目前只能实现单一指令的发送和接收,请高手指教,不胜感激!
...全文
391 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
fantasy911fan 2012-05-19
  • 打赏
  • 举报
回复
楼主 你的那个linux下的指令和接受程序现在进展怎么样了,我最近也在做这方面的东西,希望不吝赐教,
我不会Debug 2011-08-02
  • 打赏
  • 举报
回复
请问楼主 你从串口接收到十六进制数据串是怎样实现的呢 小弟是新手 最近在做linux下的串口通信,请楼主看到帖子能够指点一二。。。
fontlose 2011-06-11
  • 打赏
  • 举报
回复
[Quote=引用楼主 fantasy330 的回复:]
通过串口发送一串十六进制指令“68 04 00 01 05”可以得到接收到一串十六进制的数据串“68 07 00 81 00 02 41 CB”,但我这里想同时发送三组指令即“68 04 00 01 05”、“68 04 00 02 06”和“68 04 00 03 07”,然后想通过串口同时接收这三组指令发送后对应的数据即“68 07 00 81 00 02 41 CB”、“68 07 ……
[/Quote]

接收方处理不过来是可以加缓冲,先将接收到的命令压入队列,再一条一一条处理,232是可以全双工的就不会丢了
O饭太稀O 2011-06-11
  • 打赏
  • 举报
回复
因为小弟粗心大意没看到那指令,所以只用另外一条指令就可以了,谢谢楼上各位
O饭太稀O 2011-06-11
  • 打赏
  • 举报
回复
哦,各位不好意思,那个模块也可以发送另外一条指令就可以同时接收三组数据...还是谢谢各位对我的帮助
licui123cui 2011-06-10
  • 打赏
  • 举报
回复
[Quote=引用楼主 fantasy330 的回复:]
通过串口发送一串十六进制指令“68 04 00 01 05”可以得到接收到一串十六进制的数据串“68 07 00 81 00 02 41 CB”,
我也正在编写串口通信的程序,想问一下你发送字符串然后接受到字符串是在上下位机通信实现的吗?
wanchangjiu123 2011-06-10
  • 打赏
  • 举报
回复
你的问题可以用多线程解决,采用多线程的条件变量和互斥锁实现同步与互斥
你的意思不是很清楚,你是发送68 04 00 01 05后会收到68 07 00 81 00 02 41 CB,还是三组数据都发送完毕后再一起接受三组数据??

23,110

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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