在串口通讯时,发送8位数据位,用的时uchar数组,其中uchar[3]、uchar[4]表示一个时间,分别是高八位和低八位。
uchar[4]的范围只有0~255,如int =1000,该如何转换?
uchar pSenddata[8];
int BlowControl::blow( int delay) {
QByteArray aa;
bool ok;
pSenddata[3] = 0x03;
pSenddata[4] = 0xE8;
aa.setNum(delay, 16);
//if (aa.size() < 4) {
// for (int i = 0; i < (4 - aa.size()); i++) {
// aa.prepend('0');
// }
//}
pSenddata[4] = QString::fromLatin1(aa.right(1).toUpper()).toUInt(&ok, 16);
pSenddata[3] = QString::fromLatin1(aa.left(1).toUpper()).toUInt(&ok, 16);
//pSenddata[4] = 0xE8;
return 1;
}