Всем привет. Вот есть такое обявление псевдонимов:
#define TOSH_ASSIGN_PIN(name, port, bit) \
static inline void TOSH_SET_##name##_PIN() {port##OUT |= BIT##bit;} \
static inline void TOSH_CLR_##name##_PIN() {port##OUT &= ~BIT##bit;} \
static inline uint16_t TOSH_READ_##name##_PIN() {return (port##IN & BIT##bit) !=static inline void TOSH_MAKE_##name##_OUTPUT() {port##DIR |= BIT##bit;} \
static inline void TOSH_MAKE_##name##_INPUT() {port##DIR &= ~BIT##bit;} \
static inline void TOSH_SEL_##name##_IO() {port##SEL &= ~BIT##bit;} \
static inline void TOSH_SEL_##name##_FUNC() {port##SEL |= BIT##bit;}
По этому поводу возник вопрос. Определение сразу 6 макросов при использовании макроса TOSH_ASSIGN_PIN(PIN_X_Y, PORT_X, Y) это расширение gcc или нормально описанная в стандарте ситуация???
Форум —
Development

