打开串口时如何写入和读取十六进制数据?
if (serial->isOpen()) {
qDebug() << "seccus: " ;
static const char buff[] = {0xA1, 0xFF, 0xFF, 0x00,97};
serial->write(buff,sizeof(buff));
}
if (serial->bytesAvailable()) { // If there are bytes available
QByteArray f_data; // data container
f_data.clear();
if (serial->open(QIODevice::ReadWrite)) { // Try to open the port
while(serial->bytesAvailable()) { // Reading loop
f_data.append(serial->readAll());
}
serial->flush();
}
qDebug()<< "the result" << f_data; // Check the result
}
if(!serial->isOpen())
qDebug() << "carte disconnect"<<serial->errorString();
答案 0 :(得分:1)
要调试您的问题,我首先要简化您要尝试的操作。尝试编写一些测试代码来开始,以确保事情按预期工作:
如果其中一个步骤不能按预期工作,您至少可以关注特定部分无效的原因。
祝你好运。