Hallo zusammen,
ich bin gerade dabei, mich in den msp430 einzuarbeiten. Da habe ich nun
folgendes Problem: von verschiedener Peripherie, zum Beispiel den eUSCIs
(Enhanced Universal Serial Communication Interface) gibt's mehrere.
Damit ich die Funktionen nicht mehrfach schreiben muss, wie zum Beispiel
1 | void eUSCI_A0_softreset(void) {
|
2 | UCA0CTLW0 |= UCSWRST;
|
3 | }
|
4 | void eUSCI_A1_softreset(void) {
|
5 | UCA1CTLW0 |= UCSWRST;
|
6 | }
|
habe ich mir vorgestellt, dass man vielleicht ein Makro schreiben kann,
dass einen Parameter annimmt, so das folgendes möglich wird:
1 | void eUSCI_Ax_softreset(uint8_t eusci_nr) {
|
2 | UCAxCTLW0(eusci_nr) |= UCSWRST;
|
3 | }
|
Ich habe aber nicht rausgefunden, ob und wie das möglich ist. Folgendes
funktioniert leider nicht:
1 | #define UCAxCTLW0(x) UCA#xCTLW0
|
Irgendwelche Tips?
Danke und Gruss, Edi