Das sind keine "Wertzuweisungen", sondern Registerdefinitionen bzw.
Konstanten für die Verwendung in Registern.
Ja, die erste ist eine etwas ... bekloppte Schreibweise für 0, aber
letzlich geht es nur darum, den Wert der Bits im betreffenden Register
zu codieren, und die INCHxx-Bits sind halt die Bits 15..12 (daher der
Multiplikator 0x1000). Das "u" für unsigned ist ab INCH_8 nötig.
Natürlich hätte da auch stehen können
#define INCH_0 0
#define INCH_1 0x1000u
...
#define INCH_10 0xA000u
Das ist halt künstlerisches Schaffen desjenigen, der die Headerdatei
gebastelt hat.
Anders als bei AVR-Definitionen üblich, wird beim MSP430 der Wert und
nicht die Nummer von Bits in Registern definiert, so daß bei
Zuweisungen auf die Schiebearien verzichtet werden kann:
Avr:
register = (1 << bit_nr_x) | (1 << bit_nr_y);
Msp430:
register = bit_wert_x | bit_wert_y;