gpt4 book ai didi

c++ - 写入和读取十六进制trame qt串口

转载 作者:行者123 更新时间:2023-11-28 04:39:38 24 4
gpt4 key购买 nike

如何在打开串口时写入和读取十六进制数据?

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();

最佳答案

要调试您的问题,我将从简化您尝试做的事情开始。尝试编写一些测试代码来开始,以确保一切如您所愿:

  1. 测试序列已打开 - 不应该
  2. 打开连续剧
  3. 测试序列已打开 - 应该是
  4. 测试字节是否可用——不应该是
  5. 将数据写入串口。冲洗。
  6. 测试字节是否可用——应该是
  7. 阅读并打印到屏幕(即测试您是否正确阅读)
  8. 关闭串口-测试它没有打开

也许如果这些步骤中的一个没有按您预期的那样工作,您至少可以关注为什么该特定部分没有工作。

祝你好运。

关于c++ - 写入和读取十六进制trame qt串口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50529643/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com