Я хочу объявить определение вывода в глобальном заголовке в виде простой строки, например:
#define STATUS_LED B,7
Затем я хочу передать определение этого вывода функции выше:
CMBset_out(STATUS_LED);
Я не знаю, как к этому подойти - MY_PIN в правильном формате для замены на этапе предварительной компиляции.
#define CMBsbi(port, pin) (PORT##port) |= (1<<pin)
#define CMBset_out(port,pin) (DDR##port) |= (1<<pin)
// define pins
#define STATUS_LED B,7
Затем я хочу передать определение этого вывода функции выше (hw_init_states()
объявлено в том же заголовочном файле, который вызывается из основного файла C):
// runtime initialization
void hw_init_states(){
#ifdef STATUS_LED
CMBset_out(STATUS_LED);
#endif
}
Но я получаю ошибку компиляции:
Error 1 macro "CMBset_out" requires 2 arguments, but only 1 given GENET_HW_DEF.h 68 23 Compass IO_proto