Как стать автором
Обновить

Пишем программы для микроконтроллеров AVR в среде Code::Blocks 10.5

Время на прочтение2 мин
Количество просмотров52K
Привет, Хабр!

В этом небольшом топике будет показано как использовать популярную IDE Code::Blocks 10.5 для написания программ для микроконтроллеров семейства AVR фирмы ATMEL.





И так, начинается все со скачивания свободного GCC — компилятора C для AVR, который под Windows соответственно называется WinAVR.

Сейчас самой новой версией является версия WinAVR-20100110.
Этот файл скачиваем с SourceForge.

Установка WinAVR



Пакет просто устанавливается куда удобно, но, естественно, русских букв не должно быть в пути. После установки, путь к компилятору нужно добавить в PATH, чтобы все программы знали, что мы теперь гордые обладатели WinAVR.
На этом все.

Code::Blocks



Code::Blocks установлена,
Запускаем, создаем новый проект, выбираем AVR Project.



Как видно, здесь много целевых платформ, и это является положительным качеством Code::Blocks.
Выбираем тип процессора, который нас интересует, устанавливаем частоту тактирования,
отмечаем галочками типы файлов, которые нам нужны для отладки.



Пишем простую программу



Красиво мигаем светодиодами, подключенными к PORTD.


#include <avr/io.h>
#include <avr/delay.h>
int main (void)
{
int i=0;
// set PORTD for output
DDRD = 0xFF;

while(1){
for(i = 1; i <= 128; i = i*2)
{
PORTD = i;
_delay_loop_2(30000);
}

for(i = 128; i > 1; i -= i/2)
{ PORTD = i;
_delay_loop_2(30000);
}
}
return 1;
}




нажимаем билд — без ошибок, 2 предупреждения.

В рабочей директории проекта в папке BIN находим hex-файл, это и есть программа для нашего микроконтроллера, которая может быть загружена в него и запущена.

Для работы с компилятором из консоли нужен специальный makefile файл, который содержит информацию о типе процессора, тактовой частоте и прочих важных вещах.

При работе с Code::Blocks необходимость заполнения вручную файла makefile отпадает. Потому как все можно настроить в окне настроек компиляции.
Здесь же редактируется оптимизация и прочее прочее.



Code::Blocks очень гибкая среда, которая подойдет многим.
Подошла и мне, теперь я постоянно пишу в ней код для AVR, это удобно.

Надеюсь информация была полезной.
Теги:
Хабы:
Всего голосов 40: ↑34 и ↓6+28
Комментарии37

Публикации

Истории

Ближайшие события

15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань