Реклама ⓘ
Главная » Микроконтроллеры
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Реклама ⓘ

Урок 21. BASCOM-AVR и Arduino

Не так давно я заинтересовалась популярной платформой для разработки электронных устройств, это – Arduino. Сначала эта платформа  мне очень понравилась ввиду её простоты, универсальности и удобства. Свою написанную программу можно оперативно загрузить в микроконтроллер по COM или USB порту, не прибегая к помощи программатора.  Я собрала себе клон Arduino под названием FreeduinoMax232. И начала изучать для себя невиданную среду программирования Processing, начала писать на ней простенькие программки для мигания светодиодами и прочими вещами. Но моя радость была не долгой. Во-первых, потому что для меня Processing жутко неудобная среда и язык программирования C в ней мне не по душе. Во-вторых, размер программ (скетчей) написанных в Processing жутко большой, например программа, которая просто мигает светодиодом, занимает 890 байт Flash памяти микроконтроллера. Это много, и с этим можно сразу забыть маленькие микроконтроллеры серии Attiny. В итоге, приятные впечатления у меня остались только от самой платы.

Моя самодельная плата Arduino:

Для программирования микроконтроллеров мне очень нравится среда BASCOM-AVR, так как она достаточно быстрая, удобная и имеет массу приятных вещей. И я задумалась, а как бы подружить плату Arduino и BASCOM-AVR. Именно про это я и расскажу в этой статье.

Начиная с версии 2.0, в BASCOM-AVR включена поддержка Arduino, для использования его как программатора, который программирует сам себя. Давайте разберемся, как нам программировать Arduino из BASCOM-AVR. Для начала запустим BASCOM-AVR и пройдём в меню настроек по цепочке Options Programmer, вот так:

Далее увидим следующую картину:

Здесь, в выпадающем списке сверху, где “Programmer” нужно выбрать “ARDUINO”. Также в выпадающем списке “COM-port” выберите порт к которому у вас подключена плата Arduino. В поле “BAUD” выберите “19200”. Всё это уже показано на скрине выше. После установки всех этих настроек нажмите кнопку “Ok”. Теперь можно писать программу и прошивать её в плату! Для тестирования, давайте напишем классическую “мигалку” светодиода подключённого к PORTB.5 микроконтроллера (на платах Arduino там уже есть светодиод под названием L).

Исходный код программы:

$regfile = "m8def.dat"
$crystal = 16000000

Config Portb.5 = Output

Do

Portb.5 = 1
Wait 1
Portb.5 = 0
Wait 1
Loop

End

После написание программы откомпилируем её, для этого пройдем по цепочке Program – Compile или-же просто нажмём клавишу F7. После компиляции программы можно прошивать её в нашу Arduino, пройдём по цепочке Program – Send to chip – Program.

И увидим окно программы программатора:

Теперь чтобы прошить нашу программу остался один шаг, это пройти по цепочке Chip – Write buffer into chip, или нажать на следующею кнопку:

После этого начнётся прошивка Arduino, при этом светодиоды TX и RX на плате будут быстро мигать. После прошивки, внизу окна, где техническая информация появятся сообщения:

Поздравляю! Мы успешно прошили плату Arduino из BASCOM-AVR, мы их подружили!

Светодиод L на плате должен весело мигать:

 

Кстати, размер программы “мигалки” написанной в BASCOM-AVR составил всего лишь 192 байта, намного меньше и лучше чем в Processing, правда?

Этот метод прошивки можно использовать на всех платах Arduino и их клонах. Но помните про распиновку выводов, BASCOM-AVR знает только “настоящие” порты и пины микроконтроллеров, не “Ардуиновские”! В файлах к статье вы можете найти исходник и файл прошивки программы "мигалки".

Прикрепленные файлы:

Теги:

Опубликована: Изменена: 27.11.2017 0 1
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (4) | Я собрал (0) | Подписаться

0
maksms #
1. В Attiny код обычного блинка будет меньше
2. Никто не мешает использовать прямой доступ к портам в среде ардуино для экономии места ...Можно использовать и другие способы уменьшения скетча.
Хотя сам иду к тому, что пишу в ардуино уже по минимуму и предпочитаю avr-gcc.
Ответить
0
Олег #
Я думаю, что статья об изготовление твоей самодельной ардуины не была бы лишняя на сайте.
Ответить
0
Attiny2313 #
Разве не проще делать так?
do
toggle portb.5
wait 1
loop
Ответить
0
Murad #
Как таким способом установить фьюзы?
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется напряжение?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Программатор Pickit3
Программатор Pickit3
Набор для сборки - LED лампа Discovery V8
вверх