Hallo Achim,
1.
void print_hex (uint8_t val) {
char c1=val/16;
char c2=val%16;
if (c1<10) c1+='0'; else c1+='a'-10;
if (c2<10) c2+='0'; else c2+='a'-10;
gfx_print_char(c1);
gfx_print_char(c2);
}
ist eine Funktion, die durch
print_hex(x) aufgerufen wird.
Dabei ist x eine (uint8_t)-Zahl die als 2-stellige Hex-Zahl zur Anzeige gebracht wird.
2.
void print_hex12 (uint16_t val) {
char c0=val/256;
val %= 256;
char c1=val/16;
char c2=val%16;
if (c0<10) c0+='0'; else c0+='a'-10;
if (c1<10) c1+='0'; else c1+='a'-10;
if (c2<10) c2+='0'; else c2+='a'-10;
gfx_print_char(c0);
gfx_print_char(c1);
gfx_print_char(c2);
}
ist eine Funktion, die durch
print_hex12(x) aufgerufen wird.
Dabei ist x eine (uint16_t)-Zahl die als 3-stellige Hex-Zahl zur Anzeige gebracht wird.
3.
void print_hex16 (uint16_t val) {
print_hex(HIBYTE(val));
print_hex(LOBYTE(val));
}
ist eine Funktion, die durch
print_hex16(x) aufgerufen wird.
Dabei ist x eine (uint16_t)-Zahl die als 4-stellige Hex-Zahl zur Anzeige gebracht wird.
4.
if (display_type==2) {
gfx_init();
}
In der aktuellen NiboLib 2.10 wie folgt beschrieben
uint8_t display_type
Typ des displays: 0=no display, 1=textdisplay, 2=graphicdisplay
Bedeutet: wenn die Variable "display_type" den Wert 2 zurück gibt, dann ist ein Grafik-Display eingebaut und "gfx_init()" soll das Display initialisieren.
1. + 2. + 3. sind in den C-Sprachen übliche/gebräuchliche Funktionen um Integer-Zahlen als Hex-Zahlen anzeigen zu können.
(Solltest du wissen, dazu hast du im letzten Jahr in einen C++ Forum gepostet.)
4. ist ausreichend genau in der NiboLib-Doc beschrieben - siehe "display.h" in der aktuellen DOC.