找回密码
 立即注册
收起左侧

串口发送使用write()函数遇到0将会结束,怎样发送...

7
回复
11288
查看
[复制链接]
累计签到:5 天
连续签到:1 天
来源: 2014-8-31 19:13:58 显示全部楼层 |阅读模式

马上注册,查看详细内容!注册请先查看:注册须知

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
串口发送使用write函数遇到0将会默认结束,怎样发送带有0的一个数组。
如下:
其中parameters_send是一个数组,存储有地址、数据等参数信息,但是有一部分的数组元素的值就是0
使用myCom->write(parameters_send);发送数据到串口,将会截断0后面的内容。
请问有啥呢么办法能解决该问题。

跪求~~~感谢!很感谢!
回复

使用道具 举报

累计签到:87 天
连续签到:1 天
2014-9-1 09:27:10 显示全部楼层
myCom->write((const char*)(parameters_send,sizeof((parameters_send));




回复 支持 1 反对 0

使用道具 举报

累计签到:956 天
连续签到:1 天
2014-9-1 19:06:51 显示全部楼层
你可以指定发送的字节数,这个不是遇到零截断的。。
回复 支持 1 反对 0

使用道具 举报

累计签到:5 天
连续签到:1 天
2014-9-2 09:51:30 显示全部楼层
20030969 发表于 2014-9-1 09:27
myCom->write((const char*)(parameters_send,sizeof((parameters_send));

这样还是不行啊。。。。。。还是遇到0就后面的显示不出来啊

点评

这个发的是把char数组转为QByteArray 再发也会截断? 你的串口类是哪个 是不是第三方的 write目前只能发QByteArray  详情 回复 发表于 2014-9-4 09:35
回复 支持 反对

使用道具 举报

累计签到:5 天
连续签到:1 天
2014-9-2 09:52:25 显示全部楼层
wdmxtk002 发表于 2014-9-1 19:06
你可以指定发送的字节数,这个不是遇到零截断的。。

修改write()函数吗?这个函数不是QT自带的,定义好了的吗?
回复 支持 反对

使用道具 举报

累计签到:181 天
连续签到:1 天
2014-9-3 10:53:57 显示全部楼层
你使用的是哪个版本的QCom?write()的参数是QByteArray,是不是遇到0就结束发送的。你看一下write的返回值是否正确。再确认接收方接收到的数据是不是正确显示了。
回复 支持 反对

使用道具 举报

累计签到:87 天
连续签到:1 天
2014-9-4 09:35:15 显示全部楼层
lindsay_hh 发表于 2014-9-2 09:51
这样还是不行啊。。。。。。还是遇到0就后面的显示不出来啊

这个发的是把char数组转为QByteArray 再发也会截断? 你的串口类是哪个 是不是第三方的

write目前只能发QByteArray

回复 支持 反对

使用道具 举报

累计签到:5 天
连续签到:1 天
2014-9-4 12:03:22 显示全部楼层
20030969 发表于 2014-9-4 09:35
这个发的是把char数组转为QByteArray 再发也会截断? 你的串口类是哪个 是不是第三方的

write目前只能发 ...

串口是用的第三方的。同样会截断。。。。。。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了