找回密码
 立即注册

根据界面功能 串口发送命令

发表于 2017-4-17 17:06:23 | 显示全部楼层 |阅读模式
4Qter豆
QT Creator 功能:根据界面的设置参数,读取参数按钮的选择,上位机通过串口发送给下位机
问题:老师说要把20帧命令都存放到数组里去,然后调用,可是每一帧命令的6-(n-1)字节都是不确定的,因为这一段保存的是数据,是通过界面输入来获取的,第n字节是校验字节也是要计算的,那么怎么把命令放到数组里呢???关键问题是每一帧字节从第5字节以后都不确定了?
我写了一个格式如下:
char* dataOrdering[]={
       "fe fc 00 50 00 or",//如6个字节是计算从第3-5字节的校验码的
       "fe fc 00 50 02 or",
       "fe fc 01 51 00            ",//如第6-(n-1)字节是从界面获取以后再添加的,然后再添加校验码
       "fe fc 00 51 02 or",
       "fe fc 10 52 00 ",
       "....."//一共有20个字符串
       NULL
         };

要是这样弄的话,那么比如说点击(进入配置模式)按钮(串口发送 dataOrdering[2]),怎么让他发过去呢???或者有更好的办法吗???
感谢大神们回答

最佳答案

查看完整内容

第一,你要需要好好看一下 论坛里面的串口原理,第二,串口只是传输通道,至于是什么数据,需要根据上下位机定义的协议去解析。所以,你问的有些模糊
回复

使用道具 举报

发表于 2017-4-17 17:06:24 | 显示全部楼层
第一,你要需要好好看一下 论坛里面的串口原理,第二,串口只是传输通道,至于是什么数据,需要根据上下位机定义的协议去解析。所以,你问的有些模糊
回复

使用道具 举报

 楼主| 发表于 2017-4-18 21:46:37 | 显示全部楼层
有没有大神帮忙看一下啊,困扰了一个星期了
回复

使用道具 举报

 楼主| 发表于 2017-4-19 15:53:41 | 显示全部楼层
lxdlbs371 发表于 2017-4-19 12:56
第一,你要需要好好看一下 论坛里面的串口原理,第二,串口只是传输通道,至于是什么数据,需要根据上下位 ...

谢谢,char* dataOrdering[] 这个数组里的字符串就是按照协议写的,我现在遇到的问题是把
QString str= dataOrdering[0];
qDebug()<<"str="<<str;
输出结果是“m”???
应该是"fe fc 00 50 00 or"呀!
回复

使用道具 举报

发表于 2018-3-13 20:32:24 | 显示全部楼层
楼主解决了吗,可否讲解一下思路或方法?
回复

使用道具 举报

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

本版积分规则

beautysun

    主题

    帖子

    35

    积分

    Qter1级会员

    Rank: 1

    积分
    35

Qter1级会员

发私信

Qt开源社区——开源 共享 自由

微信扫一扫
查看精品教程!