门户
书籍
教程
论坛
问答
下载
签到
个人空间
帐号
自动登录
找回密码
密码
登录
立即注册
账号
自动登录
找回密码
密码
登录
立即注册
请绘制轨迹完成人机验证
由vaptcha提供技术支持
登录
注册
搜索
搜索
搜索
热搜
qml
quick
串口
输入中文
数据库
arm
百度地图
qt聊天
QT安装
安装
多窗口
中文乱码
聊天
局域网
鼠标
QT
图片
乱码
rs485通讯
多线程
android
多文档编辑器
本版
用户
本版
用户
【HUX】问题互助平台
博客
动态
好友
帖子
收藏
道具
勋章
任务
淘帖
动态
日志
相册
分享
记录
留言板
群组
门户
导读
排行榜
设置
我的收藏
退出
Qt开源社区
›
精华区(请在“有问必答”发帖)
›
有问必答
›
串口传输
›
关于串口给机器发送指令问题
发布主题
返回列表
关于串口给机器发送指令问题
5
回复
7026
查看
[复制链接]
失踪人口
当前离线
积分
52
失踪人口
累计签到:28 天
连续签到:1 天
来源:
2018-4-26 13:44:00
显示全部楼层
|
阅读模式
10
Qter豆
本帖最后由 失踪人口 于 2018-4-26 14:39 编辑
功能
:实现串口16进制传输给机器,实现对机器的控制
QT
:5.6
情况
:我仿照一个在windows运行的串口软件(专门定制的那种)
问题
:将字符转换成十六进制发送给机器,举个例子有一个关闭机器电源的指令,用那个仿照的程序(不是QT写的)每次都能发送指令并关闭机器电源,但是我做的程序每次都没有反应
部分图片和代码
:
打开串口(不可能串口问题)
关闭电源发送指令槽
控制台查看的信息
机器的指令参考的是之前那个人写的
:
想不通的地方是我明明按照上面的指令,但是结果机器却没有反应,所以我猜想是16进制或者是传输问题
附件:
您需要
登录
才可以下载或查看,没有帐号?
立即注册
最佳答案
gz_zhmj
查看完整内容
个人感觉是tolocal8bit这个函数问题,它好像是将字符串转成char*格式,比如“hello”这种字符串。如果你已经转成01 00 00 04这种好像要用toLatin1(),不知道是不是,最好能用示波器或者仿真器接目标板,看看发出的对不对
回复
使用道具
举报
gz_zhmj
当前离线
积分
40
gz_zhmj
累计签到:1 天
连续签到:1 天
2018-4-26 13:44:01
显示全部楼层
个人感觉是tolocal8bit这个函数问题,它好像是将字符串转成char*格式,比如“hello”这种字符串。如果你已经转成01 00 00 04这种好像要用toLatin1(),不知道是不是,最好能用示波器或者仿真器接目标板,看看发出的对不对
回复
使用道具
举报
失踪人口
当前离线
积分
52
失踪人口
累计签到:28 天
连续签到:1 天
2018-4-26 13:44:58
显示全部楼层
抱歉没怎么编辑过想不到好乱
回复
使用道具
举报
Tom_Chen
当前离线
积分
13
Tom_Chen
累计签到:1 天
连续签到:1 天
2018-4-28 15:15:22
显示全部楼层
感觉是16进制转换的问题 ,刚玩qt不久 你写的16进制转换看不太懂 使用QT的数据转换字符串到16进制数 感觉有不是很好用
你可以查一篇关于QT发送16进制数的写法
回复
使用道具
举报
cai901022
当前离线
积分
450
cai901022
累计签到:344 天
连续签到:1 天
2018-5-2 10:50:19
显示全部楼层
你发送的是指针吧,你转成QByteArray发送吧,不要char*格式
回复
使用道具
举报
失踪人口
当前离线
积分
52
失踪人口
累计签到:28 天
连续签到:1 天
2018-5-2 13:51:05
显示全部楼层
不好意思,我刚刚才发现可能是机器的波特率设置不正确导致的,实在不好意思,最佳答案我就抽签了
回复
使用道具
举报
返回列表
发表新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满)
我知道了