Надо задать начальные параметры кнопок.
Вот так не работает: button_left.button_port = "PORTD"; пишет
Error expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
А так работает:
struct button button_left = {"PORTD", 6, 0, 0, 0, 12};
покажите участок кода. может вы прямо в объявлении переменной решили присваивание сделать.
надо же
struct button button_left;
button_left.button_port = "PORTD"
15432, Нет, не в обьявлении переменной.
Похоже что проблема в использовании __attribute__, в обьявлении структуры.
Это должно указывать где хранить данные, в flash , sram или eeprom.
Точнее не могу сказать, не разобрался еще.
Вот так не работает: button_left.button_port = "PORTD";
А так работает:
struct button button_left = {"PORTD", 6, 0, 0, 0, 12};
Почему возникает ошибка при обращении к struct?
Ты видишь разницу между этими двумя строчками? Первая генерирует код который присваивает значение одному полю структуры. Она должна быть там, где можно писать код -- в теле какой-нибудь функции. Нельзя написать её вне всех функций.
Вторая генерирует инициализированную структуру. Её можно написать и вне всех функций -- тогда она будет генерировать глобально видимую структуру инициализированную до начала выполнения программы. Её можно написать и внутри функции -- тогда она будет генерировать автоматическую переменную и инициализировать её в момент "выполнения".