In der Embedded-Programmierung möchte man oft den Hex-Wert eines Bytes ausgeben, bestehend aus zwei Hex-Ziffern. Wenn man beispielsweise uint8_t val = 14; hat, möchte man 0x0E ausgeben.
In Arduino kann man das mit Serial.printf() und %02x als Formatbezeichner tun:
print_byte_hex.ino
Serial.printf("val = %02x\r\n", val);Bei Verwendung von printf bedeutet %x, dass der Wert als Hex formatiert wird. 02 bedeutet, dass der Wert mit 0en auf eine Länge von 2 Ziffern aufgefüllt wird. Wenn man 14 nur mit %x formatieren würde, würde E statt 0E ausgegeben. Deshalb muss man %02x verwenden.
Ähnliche Beiträge nach Kategorie:
Arduino Elektronik Embedded PlatformIO
Wenn dieser Beitrag dir geholfen hat, erwäge, mir einen Kaffee zu spendieren oder per PayPal zu spenden, um die Recherche und Veröffentlichung neuer Beiträge auf TechOverflow zu unterstützen