Hallo,
grundsätzlich läßt sich ein 16bit Wert nicht an ein 8bit Register zuweisen.
Wenn Du aber den 16bit Wert nur für eine Berechnung gebraucht hast, wo 8bit hätten überlaufen könnten und das Ergebnis wieder zwischen 0 und 255 liegt, läßt sich die Zuweisung nach einer Bereichsüberprüfung mit einem Downcast erreichen:
GrußCode:int var = /* Berrechnung */ if(var >= 0 && var <= 255) { PORTA = (uint8_t)var; // Downcast } else { /* Fehler der behandelt werden sollte */ }
Chris
Lesezeichen