Gast
#180898
Hallo, ich arbeite gerade an einem C-Programm für einen AVR und habe folgendes Problem: ich übergebe eine Adresse (unsigned char) an eine Funktion. Die Adresse ist 5 Bits lang. Diese soll dann in ein Register geschrieben werden. Allerdigs soll das Bit 0 der übergebenen Variable an Bit 3 des Registers usw. geschrieben werden. Die ersten drei Bits des Registers sollen unverändert bleiben. Momentan habe ich das so gelöst: Ich teste ob Bit 0 der Variable gesetzt ist. Wenn ja, dann setzte ich Bit 3 des Resiters. Ansonsten lösche ich es. Das ganze mache dann fünf mal. Gibt es da eine elgantere, schnellere Lösung?