Zitat Zitat von RolfD Beitrag anzeigen
Code:
#define LCD_LL 0x0f

static uint8_t lcd_cpos;
static uint8_t lcd_line;
        c=0x00;
        lcd_line = 0x00;
        lcd_cpos = (c - (lcd_line * LCD_LL));
Hat jemand eine Idee bevor ich verzweifel?
Schnell meine Anteilnahme zeigen Hab zwar von C kaum Ahnung; mir erscheinen aber die beteiligten Variablen nicht passend.

Eine Multiplikation mit zwei 8 Bit Variablen könnte eine 16Bit Variable füllen.
Eine Subtraktion könnte eine negative Zahl ergeben.

Geht es besser statt mit uint8_t mit int16_t oder noch größer und später lcd_cpos auf 8 Bit bringen?

Gruß
Searcher