часть кода находится в библиотеке:
GPIO GPIO_0_VAL = {&PINB, &DDRB, &PORTB, (1 << 0)};
#define GPIO_0 (&GPIO_0_VAL)
// А вот так я хочу использовать в основном коде программы:
GPIO * LED = GPIO_0;
И в таком виде всё работает. Но можно ли избавиться как-то от дефайна в библиотеке без необходимости изменения основного кода программы?
На самом деле вопрос больше эстетический, ну и понимания и изучения ради.
Проверил инициализацию указателей с gcc и avr-gcc, работает. Уточните версию компайлера и ключи компиляции плиз. А вообще описаный подход не для ембеддеда, если речь все еще об аврках.
Обсуждают сегодня