Спасибо всем за советы, продолжаю работу

Работаю с IAR 4.11B и MSP430f2131.
IAR дает несколько способов обращения к битам. Мне нужно присвоить битам TAMC регистра TACTL значение "3".
1 вариант:
Код
TACTL_bit.TAMC = 3;
Должен быть второй вариант, какой он? (По аналогии с BCSCTL1 = RSEL0 + RSEL1 + RSEL2;)
Ведь TAMC 2-х битовое поле.
Почему TAMC константа со значением 0х20, как с этим работать?
Вот фрагмент "io430x21x1.h" :
Код
__no_init volatile union
{
unsigned short TACTL; /* Timer A Control */
struct
{
unsigned short TAIFG : 1; /* Timer A counter interrupt flag */
unsigned short TAIE : 1; /* Timer A counter interrupt enable */
unsigned short TACLR : 1; /* Timer A counter clear */
unsigned short : 1;
unsigned short TAMC : 2; /* Timer A mode control 0 */
unsigned short TAID : 2; /* Timer A clock input divider */
unsigned short TASSEL : 2; /* Timer A clock source select */
unsigned short : 6;
} TACTL_bit;
} @ 0x0160;
enum {
TAIFG = 0x0001,
TAIE = 0x0002,
TACLR = 0x0004,
TAMC = 0x0020,
TAID = 0x0080,
TASSEL = 0x0200,
};
Сообщение отредактировал Slash - Nov 24 2008, 14:05