Ale3000 (13.02.2013 12:30 - 12:49, просмотров: 188) ответил MegaJohn на USARTC0 это что ? Число ? Дык его надо привести к строковому виду через один #. В моем примере указано как. Лень ставить 6-ой, если к вечеру не разберетесь то тогда придется
USARTC0 это одно число, а USARTC0_DRE_vect это совершенно другое число
/// Universal Synchronous/Asynchronous Receiver/Transmitter
typedef struct USART_struct {
register8_t DATA; ///< Data Register
register8_t STATUS; ///< Status Register
register8_t reserved_0x02; ///< reserved
register8_t CTRLA; ///< Control Register A
register8_t CTRLB; ///< Control Register B
register8_t CTRLC; ///< Control Register C
register8_t BAUDCTRLA; ///< Baud Rate Control Register A
register8_t BAUDCTRLB; ///< Baud Rate Control Register B
} USART_t;
#define USARTC0 (*(USART_t *) 0x08A0)
#define USARTC0_DRE_vect 0x0068
Проблема похоже в том, что операнды операции ## не рассматриваются препроцессором, а тупо склеиваются.