社区
Linux/Unix社区
帖子详情
linux应用端,串口发送数据怎么知道数据发送完成
ysh790891322
2018-12-04 10:29:35
想使用485通讯,需要控制485使能,然后write数据到串口实际是写入到缓存的。我需要等待串口数据发送完成之后在把485设置为接收状态。
测试过使用tcdrain函数等待输出完成,但是实际上串口缓存数据没有发送完函数就已经返回发送完成。有没有什么办法可以检测到串口发送的数据已经发送完成了的?
...全文
1203
3
打赏
收藏
linux应用端,串口发送数据怎么知道数据发送完成
想使用485通讯,需要控制485使能,然后write数据到串口实际是写入到缓存的。我需要等待串口数据发送完成之后在把485设置为接收状态。 测试过使用tcdrain函数等待输出完成,但是实际上串口缓存数据没有发送完函数就已经返回发送完成。有没有什么办法可以检测到串口发送的数据已经发送完成了的?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Crazy_sparK
2021-08-19
打赏
举报
回复
我也是 485 遇到的问题
Crazy_sparK
2021-08-19
打赏
举报
回复
tcdrain 亲测可用
mz454619501
2018-12-11
打赏
举报
回复
楼主,你这个有点点特殊,在驱动里面改下吧
QT开发
串口
助手(四)——实现
发送
数据
功能
本文介绍了使用Qt进行
串口
通信的实现,包括如何完善接收中文功能,通过QSerialPort库设置
串口
参数,并实现打开/关闭
串口
的功能。此外,还展示了如何添加
发送
数据
功能,通过点击按钮
发送
固定字符串到
串口
,并能接收到下位机的回应。
c++接收
发送
串口
数据
(
串口
通信)
本文详细介绍了一种基于Windows API的
串口
通信实现方法,并提供了一个跨平台的Qt
串口
类示例,涵盖
串口
的打开、配置、读写操作及错误处理。
LINUX
串口
发送
数据
,包
数据
被拆分
发送
在使用
Linux
串口
与DDSU666电能表通讯时,遇到
数据
包被拆分
发送
的问题,导致电表无法正常响应。分析发现,当一包
数据
间隔超过5ms
发送
时,电表不会回复。根据Modbus协议,帧间隔需大于3.5个字符时间。通过计算得出,在9600bps波特率下,间隔应约为4.69ms。问题源于
串口
输出处理未禁用。通过修改代码禁用OPOST标志,成功解决了
数据
包拆分问题,确保每次
发送
都能收到电表回复。
SpringBoot+jSerialComm实现Java
串口
通信 读取
串口
数据
以及
发送
数据
本文介绍了如何在SpringBoot
应用
中使用jSerialComm库进行
串口
通信,包括在Windows和
Linux
系统的连接配置,以及如何集成Swagger文档。通过示例代码展示了如何读写
串口
数据
和创建RESTfulAPI来监控和控制
串口
操作。
细说ARM MCU的
串口
发送
数据
的实现过程
本文介绍如何使用ARM微控制器(MCU)通过
串口
发送
数据
。文中详细解释了配置过程、使用HAL库函数进行
串口
数据
发送
的方法,并提供了具体代码示例。此外,还展示了如何根据接收到的不同
数据
发送
特定的反馈消息。
Linux/Unix社区
23,223
社区成员
74,536
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章