Alles rund um die Programmierung mit Qt
-
surfman19
- Beiträge: 52
- Registriert: 22. August 2008 18:20
Beitrag
von surfman19 »
hi, kann ich so die gelesenen bytes in hex ausgeben?
Code: Alles auswählen
QextSerialPort *port;
...
int bytesRead = port->read(data, numBytes);
if (bytesRead != -1)
{
data[bytesRead] = '\0';
}
else
{
data[0] = '\0';
}
for(unsigned int i = 0; i < bytesRead; i++)
{
cout << std::setfill('0') << std::setw(2) << uppercase << std::hex << (unsigned char)data[i];
}
-
CaptnChaos
- Beiträge: 605
- Registriert: 28. Juni 2007 15:01
-
Kontaktdaten:
Beitrag
von CaptnChaos »
Das benutze ich in solchen Fällen.
Code: Alles auswählen
QByteArray debugDataHex(QByteArray data)
{
QByteArray hexArray;
for(int i = 0; i < data.size(); i++)
{
hexArray+= QByteArray::number(data[i], 16);
}
qDebug(hexArray);
return hexArray;
}
-
surfman19
- Beiträge: 52
- Registriert: 22. August 2008 18:20
Beitrag
von surfman19 »
Code: Alles auswählen
QByteArray msg;
msg.resize(3);
msg[0] = 0x02;
msg[1] = 0x00;
msg[2] = 0xA8;
debugDataHex(msg);
gibt aus:
20ffffffffffffffa8
warum nicht gleicht:
[/code]
-
CaptnChaos
- Beiträge: 605
- Registriert: 28. Juni 2007 15:01
-
Kontaktdaten:
Beitrag
von CaptnChaos »
Code: Alles auswählen
QByteArray debugDataHex(QByteArray data)
{
QByteArray hexArray;
for(int i = 0; i < data.size(); i++)
{
unsigned char c = QByteArray::number(data[i], 16);
hexArray+=c;
}
qDebug(hexArray);
return hexArray;
}