Chris schrieb:
> ((PORT_PCR_ISF_MASK | PORT_PCR_MUX(0x07))) ist halt irgendeine Maske.
> Die aber nicht 32 bit sein muss.
> Deswegen wird sie in eine 32 bit gewandelt und jedes bit "gedreht"
> (~(uint32_t)).
> Da diese Zahl aber auch negativ werden kann, wird sie in eine positive
> Zahl gewandelt ((uint32_t)). Deswegen die beiden (uint32_t)~(uint32_t).
> Die hatten mich verwirrt.
zu Recht.
Ich möchte mal denjenigen sehen, der eine dediziert unsigned Zahl
negativ hinbekommt...
Aber zum Verständnis: mit einem Typecast ist keinelei Umwandlung
verbunden, sondern lediglich die Auffassung vom Operanden festgenagelt.
Das ist ein gravierender Unterschied. Deine Worte lesend bin ich mir
nicht sicher, ob du das richtig verstanden hast.
Nochmal: Laß von all diesen vigilantischen
Präprozessor-Steptanz-Einlagen lieber die Finger und schreib dir das
benötigte Zeugs selber - und zwar so, daß du es auf den 1. Blick
verstehst. Auf Dauer lebst du damit besser, weil es einfacher und damit
überschaubarer ist.
W.S.