Долгое время пользовался средой Code::Blocks под Arduino и был доволен, всё работало очень хорошо. Некоторое время назад я решил начать писать программы под AVR и столкнулся с весьма неприятной проблемой: не работает автодополнение кода для названий портов и регистров (PORTD, PINB, SPCR и т.п.) Код при этом компилируется и работает корректно. При попытке перейти к месту определения какого-либо порта появляется ошибка: В проектах под другие платформы, windows или arduino, автодополнение работает как нужно. В настройках компилятора указаны верные пути к папкам include и lib. Подскажите, с чем может быть связана данная проблема и как еще можно устранить? Конечно, работать можно и так, но с автодополнением как-то удобнее.
Рискну предположить, что парсер C::B не справляется с макросами avr-libc. Возможно потому, что на этом этапе не определены макросы, отвечающие за выбор процессора и т.п. и код, по которому нужно делать подсказки, считается неактуальным. При компиляции ситуация меняется и сборка происходит без проблем.