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

串口通信如何发送char[]数组

2
回复
7012
查看
[复制链接]
累计签到:87 天
连续签到:1 天
来源: 2014-5-7 14:12:08 显示全部楼层 |阅读模式
5Qter豆
本帖最后由 20030969 于 2014-5-7 15:22 编辑

现在写了一个串口通信软件,由于单片机要求收到unsigned  char型 也就是8位。

我在上位机上把所有的数据都处理成unsigned char a的数组

比如 a[0]= 14a[1]= 1; a[2]=22;
a[3]=9;
但是串口发送用的是write(QString.toAscii)。

于是我将a 转成QString 这样一来我发送的数据就是922114

请问这样一来单片机能按byte收到字符吗?也就是说能够分辨9,22,1,14,为4个数

如果无法辨别出来 我该如何直接发unsigned char[]数组呢?

最佳答案

查看完整内容

如果你设置的数据位是8,单片机就是按照字节接收数据的。
回复

使用道具 举报

累计签到:181 天
连续签到:1 天
2014-5-7 14:12:09 显示全部楼层
如果你设置的数据位是8,单片机就是按照字节接收数据的。

点评

正如hzzhou所说,取决与单片机串口参数。 另外,也可以用stdio中的fwrite函数,可以写任意数据类型的数据。  详情 回复 发表于 2014-5-14 18:35
回复

使用道具 举报

累计签到:331 天
连续签到:1 天
2014-5-14 18:35:56 显示全部楼层
hzzhou 发表于 2014-5-14 09:35
如果你设置的数据位是8,单片机就是按照字节接收数据的。

正如hzzhou所说,取决与单片机串口参数。
另外,也可以用stdio中的fwrite函数,可以写任意数据类型的数据。
回复

使用道具 举报

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

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