要点:
- 1.宏定义成字符串
// 宏定义
#define DEVICE_INSTRUCT "0201"
// 宏替换
instruct = QByteArray::fromHex("DEVICE_INSTRUCT");
// "!"仿照侯捷老师的标注习惯
// ! 函数字符串的内容其实是"DEVICE_INSTRUCT",而不是宏替换
#define DEVICE_INSTRUCT 0201
instruct = QByteArray::fromHex("DEVICE_INSTRUCT");
- 2.函数QByteArray::fromHex()返回hex进制数据(注意,不是字符)
正确代码段:
// 宏定义,其实是字符串
#define DEVICE_INSTRUCT "0201"
QByteArray instruct;
instruct.resize(2);
// 字符串转成了hex 0x02 0x01
instruct = QByteArray::fromHex(DEVICE_INSTRUCT);
// 显示,便于调试
qDebug() << "instruct: " << instruct.toHex(); //0201
qDebug() << "instruct[0]" << (uint_8)instruct[0]; //02