Не так давно я заинтересовалась популярной платформой для разработки электронных устройств, это – 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 знает только “настоящие” порты и пины микроконтроллеров, не “Ардуиновские”! В файлах к статье вы можете найти исходник и файл прошивки программы "мигалки".
Прикрепленные файлы:
- ARDBAS.rar (8 Кб)
Комментарии (3) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация
2. Никто не мешает использовать прямой доступ к портам в среде ардуино для экономии места ...Можно использовать и другие способы уменьшения скетча.
Хотя сам иду к тому, что пишу в ардуино уже по минимуму и предпочитаю avr-gcc.
toggle portb.5
wait 1
loop