串口:来自设备的不同答案

时间:2015-10-07 13:01:50

标签: c# c++ qt serial-port

我在翻译代码时遇到了一些问题。当我按下按钮时,我正试图制作一些继电器(设置在定制的PCB上)来打开和关闭。 问题是我制作了正在执行的代码(因此根据我的操作打开和关闭)但我还需要从机器上读取答案。关键是我有一个用C#编写的旧版代码,当通过该程序发送代码时,我得到了OK答案,而使用用C ++编写的新版代码,我只得到了第一个字母。回答。 我正在使用串口监视器来查看机器发回的内容,并且我得到了相同的结果(不像我的代码只读了一个字母)。所以,重点是:C#代码获得完整答案(“AWOK11”),而C ++代码只获得它的第一个字母(“A”)。 C#代码在SharpDevelop中完成,C ++代码在Qt Creator中完成。

C ++代码:

{{1}}

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

方法npm run start从设备读取所有可用数据。如果只有QIODevice::readAll()可用,则会返回A。它不会等待其他角色。由于您在写作后立即阅读,因此只能读取第一个字符。