linux串口发送指令(write),一条指令的字节之间不连续,如何

2020-02-11 09:56发布

imx6与工控机232通讯;
arm 向工控机发送一条指令类似如下:
伪代码:
        cmd[15] = {01,02,03,04,05,06,07,08,09,10,11,12,13,14,15};
        ret = write(uart_fd,cmd,15);
函数执行完,ret 为15,证明write发送成功;

但是工控机接收的这条指令不连续,用串口监控工具捕获显示:01~14 连续接收,经过几毫米之后才接收到15;
(波特率为115200,字节之间的间隔应该不会超过1ms)

怀疑是不是arm发送的不连续,write先一次发送了14个字节,然后又发送最后一个字节数据15,造成工控接收不连续;
是不是串口缓冲区大小为14个字节,多了需要分多次发送?
缓冲区大小可以设置吗?

网上找的一篇 写的不是太详细  http://blog.csdn.net/sno_guo/article/details/17799739

QQ截图20160930140712.png (36.66 KB, 下载次数: 0) 下载附件 2016-9-30 13:58 上传

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
vows
1楼-- · 2020-02-12 07:24
通信协议要处理好,不能完全依赖时间和连续性
wq_601840968
2楼-- · 2020-02-12 09:46
 精彩回答 2  元偷偷看……

一周热门 更多>