Ciao Paolo,
in Code Composer Studio non sono definite le strutture che permettono di accedere i registri con singoli bit. Questo, almeno a giustificazione di alcuni con cui ho avuto modo di parlare è stato scelto per favorire il bit masking e permettere sempre una corretta ottimizzazione del codice.
Il compilatore IAR permette di ottenere un codice più efficiente, in generale, di quello ottenibile in ambiente CCS.
...ma supporta le strutture dati con accesso dei singoli bit. Quindi la giustificazione sopra non è poi sempre valida in assoluto, e personalmente preferisco IAR (per questo aspetto).
Per i define, in CCS puoi definire dunque solo le singole porte:
#define STRINGA_LED P1OUT
altrimenti potresti anche realizzare semplicei macro per accedere ai singoli BIT:
#define LED_0_ON (P1OUT | BIT0)
#define LED_1_ON (P1OUT | BIT1)
#define LED_2_ON (P1OUT | BIT2)
In maniera analoga per spegnere:
#define LED_0_OFF (P1OUT & !BIT0)
#define LED_1_OFF (P1OUT & !BIT1)
#define LED_2_OFF (P1OUT & !BIT2)
Per leggere un pulsante su P2IN.0 potresti scrivere:
#define SW_STATUS (P2IN & BIT0)
Saluti,
Mauro