Первые шаги в программировании на языке Си для микроконтроллеров AVR следует начинать не с приобретения контроллера и программатора, а с чтения книг и освоения работы в различного рода средах программирования типа AVR Studio, CodeVisionAVR, или Flowcode V4 for AVRs. А самое удобное начинать осваивать программирование микроконтроллеров, с анализа простых программных примеров один из которых можно можно найти здесь.
Простая программа для микроконтроллера Аttiny2313:
Многие радиолюбители начинают освоение языка Си и микроконтроллеров AVR именно работая с весьма удобной и простой средой программирования AVR Studio. Которую легко скачать и поставить следует только знать что необходимо после установки AVR Studio ещё скачать и поставить WinAVR. Обе программных среды есть в свободном доступе.
Для начала следует научиться правильно, создавать проекты в AVR Studio на языке Си. Для самообразования написано уже достаточно много книг в которых вы сможете прочитать как правильно создать проект в AVR Studio.
Следует только отметить, что папка, куда вы будите сохранять свои проекты и путь к ней не должны содержать русских букв (только английский алфавит) иначе ничего не получится.
После того как вы успешно создали свой проект можно начинать прописывать программу.
Листинг программы для микроконтроллера:
Листинг программы – это ничто иное как её текст (от самой программы до комментариев)
//_____________________________________________________\\
//| | | |\\
//| Дата | Микроконтроллер | Автор |\\
//|_____________|_____________________|_______________|\\
//| | | |\\
//| 08.11.2013 | Attyni2313 [4 МГЦ] | bip-mip.com |\\
//|_____________|_____________________|_______________|\\
//|
//|Версия 1.2
//|
//
/*||Мигалка с двумя светодиодами||
Поочерёдно мигает два светодиода подключённых к порту B0 и B1 микроконтроллера Attyni2313*/
#include <avr/io.h> // Подключаю Библиотеку ввода-вывода
#include <util/delay.h> // Подключаю Библиотеку задержек
char main(void) //Выделяю место для основной вункции программы (контейнер для программы)
{ //Начало основной функци
DDRB = 0b0000011; //Конфигурирую порты B0 и B1 как вывод (1 - означает выход)
PORTB = 0b0000010; //Определяю начальное состояние порта B1 ( на выводе есть логическая единица)
while(1) //Запускаю цыкл
{ //Начало цыкла
_delay_ms(50); //Задержка 50 ms (ждёт 50 ms и выполняет следующее действие)
PORTB = PORTB>>1; //Переключаю логическую единицу с порта B1 на B0
if (PORTB=0b0000001) //Ставлю условие "если единица на порте B1"
_delay_ms(50); //Снова задержка 50 ms (ждёт)
{PORTB = 0b0000010;} //Вернуть в начальное состояние
}
return 0;
}
Безусловно, если вы новичок в программировании микроконтроллеров на языке СИ, то вам непонятно ни строчки в моём листинге. Настоятельно рекомендую вам обложится книжками и пособиями по программированию, не ленитесь их читать – со временем всё станет ясным!
Следует только отметить:
// или сочетание /*текст */ — Это всё означает комментарий – пояснение тех действий которые выполняет программа (комментарий необходим для вас), для компилятора, комментарии невидимы – они просто не существуют.
Я из комментариев составляю себе удобные заготовки или шпаргалки – что очень выручает особенно когда вы новенький в программировании.
Прописав листинг программы в специальном окне вам необходимо её сохранить и скомпилировать (для компиляции нужно нажать F7).
Скомпилировать – это означает проверить программу на наличие ошибок как логических так и грамматических, а их часто допускают даже опытны программисты не говоря уже о начинающих радиолюбителях.
Если листинг моей программы набран вами правильно то ошибок быть не должно и вы увидите зелёный свет, а если нет – то будьте внимательными проверяйте на ошибки и пытайтесь понять в чём там дело.
Для того что бы проверить как работает программа после компиляции достаточно нажать Shift+F5 и программа покажет вам что происходит.
P.S. Я постарался привести наиболее понятный и простой пример примитивной программы для микроконтроллера Аttiny2313. Я не являюсь опытным программистом потому с радостью принимаю конструктивную критику и полезные советы. Эта программа далеко не единственное что можно найти на нашем сайте https://bip-mip.com/