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

新人关于串口通信的问题

1
回复
8667
查看
[复制链接]

尚未签到

来源: 2013-5-8 16:36:19 显示全部楼层 |阅读模式
1Qter豆
不太擅长pc编程,刚接触qt几天,现在老师给个任务,想做一个Qt程序通过串口读取单片机发送的数据,学习了yafeilinux的教程http://hi.baidu.com/zhu8caizi/item/2a9a4da4a2de533a030a4de1。但是在第一部分就卡住了,希望各位大大帮帮忙,

我用的是Qt creator5.0.2和win7

我直接copy了网上的代码,运行时出现了   

错误:C2039: “toAscii”: 不是“QString”的成员

我按网友建议,将widget.cpp中
        void Widget::on_pushButton_clicked() //发送数据
{   
     myCom->write(ui->lineEdit->text().toAscii());   
}

和win_qextserialport.cpp中   
   
Win_Handle=CreateFileA(port.toAscii(),  GENERIC_READ|GENERIC_WRITE,
                                       FILE_SHARE_READ|FILE_SHARE_WRITE,
                                        NULL,OPEN_EXISTING,dwFlagsAndAttributes, NULL);

出现的toAscii(),换成了toLatin1(),就能够编译通过了,但是只是出现了窗口,没有实现串口通信
请问为什么toAscii()不好用,换成toLatin1(),就能编译通过了呢?另外程序不能用还有可能是什么原因呢?
看大半天资料了,但是感觉知识都还没理解,现在非常发愁,希望各位前辈多指教




最佳答案

查看完整内容

Qt 5中已经将toAscii()函数作废了,这个可以查看Qt帮助文档,里面推荐使用toLatin1()。 可以使用论坛的QCom的代码测试!
回复

使用道具 举报

累计签到:1571 天
连续签到:1 天
2013-5-8 16:36:20 显示全部楼层
Qt 5中已经将toAscii()函数作废了,这个可以查看Qt帮助文档,里面推荐使用toLatin1()。

可以使用论坛的QCom的代码测试!
回复

使用道具 举报

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

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