ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
22 ноября
6790 Топик полностью
ShiphT (09.02.2004 15:35, просмотров: 1) ответил Costa на Урра, ззаработало!! Только пришлось из первых двух строчек скобки убрать. Спасибо! Еще вопрос.
Ответ: 
#define KT_PORT      B
#define KT_PIN       0

#define KT           (KT_PORT, KT_PIN)

#define DATA_O(node)             _DATA_OUT(node)
#define DATA_OUT(port, pin)      _DATA_OUT(port, pin)
#define _DATA_OUT(port, pin)     sbi(DDR##port, PORT##port##pin)
Вот тут-то и спрятался весь смысл правой грамматики разбора. Вызов: DATA_O(KT); Получается, что макрос разворачиваясь вызывает макрос _DATA_OUT() передавая ему один(!) параметр (KT в данном случае), а тот, в свою очередь получает два. (B и 0).