Программировать Arduino Uno на чистом C или ассемблере не намного сложнее, чем использовать стандартный язык программирования Arduino. Сделав это, вы сможете значительно повысить производительность и уменьшить размер вашей программы.
Далее мы поговорим о том, как перепрошить Arduino Uno R3 с помощью программатора ISP и AVR Studio 6.2. Итак, нам понадобится Ардуино Уно Р3 , любой Интернет-провайдер программатор, совместимый с Атмел Студия 6 , один светодиод и резистор, например, 250 Ом.
Для программирования Arduino я использую универсальный программатор.
Атмел ICE .
Как я уже говорил, вы можете использовать любой программатор ISP для программирования Arduino. Вы можете просмотреть список поддерживаемых программистов прямо в Atmel Studio. Всем известно, что в Arduino Uno R3 используется микроконтроллер ATmega328P-PU. Это мы и будем программировать.
Фактически после записи нашей программы у нас будет уже не Ардуино, а просто микроконтроллер с обвязкой.
Так как мы сотрем загрузчик Arduino. К сожалению, микроконтроллер ATmega328P-ПУ не поддерживает «расширенную» отладку через JTAG. Можно, конечно, отлаживать свою Arduino в Arduino Micro с помощью точек останова и выходных значений (нужно явно спрашивать, что вы хотите получить), но такой подход не всегда удобен, а в Atmel Studio есть гораздо более продвинутые инструменты отладки ( просмотр состояний регистров, мониторинг памяти и т. д.).
Поэтому ограничимся простой прошивкой нашего контроллера через ISP. Откройте Atmel Studio и выберите проект. Исполняемый проект GCC C , как показано на рисунке.
Отлично, проект создан.
Теперь нам нужно подключить наш программатор.
Я использую Atmel ICE. Это универсальный программатор, который подходит к большинству микроконтроллеров AVR и ARM от Atmel. Подключаем программатор к компьютеру, затем в Atmel Studio выбираем пункт Инструменты -> Программирование устройства .
Важный! Если у вас русская винда, то не создавайте проект в моих документах и вообще в папках с русским названием.
Лучше создать на диске отдельную папку с названием без кириллицы, например D:\myprog. Также не забудьте запустить студию с правами администратора.
В открывшемся окне выбираем следующие опции: Инструмент - устройство для программирования/отладки, в данном случае Atmel ICE, Устройство - микроконтроллер, который мы собираемся программировать, Интерфейс - интерфейс, через который наш программатор будет прошивать/отлаживать микроконтроллер, в в этом случае доступен только ISP.
Нажмите кнопку «Читать», чтобы получить идентификатор устройства и его рабочее напряжение.
Если Arduino подключена правильно, то у вас должен получиться номер устройства, например 0x1E950F и напряжение 4,9В.
Нажмите Применить.
После этого настройки программатора должны выглядеть так, как показано на рисунке ниже.
Далее выполняем следующие действия.
Измените ISP Clock на 250. Затем перейдите в раздел «Воспоминания» и нажмите кнопку Удалить сейчас .
Важный! После этого шага вы не сможете использовать Arduino с Arduino IDE, поскольку загрузчик будет удален.
Теперь мы все готовы к программированию.
Давайте напишем небольшую программу, которая будет мигать светодиодом.
Вставьте в макетную плату светодиод и подключите его через токоограничивающий резистор.
Подключите положительный вывод светодиода к цифровому выходу 5 на Arduino. Теперь нужно разобраться, какой ножке микроконтроллера соответствует вывод на плате.
Для этого нам понадобится техническая спецификация .
Поскольку мы хотим управлять светодиодом с помощью 6-го контакта Arduino, мы будем использовать регистр PORTD и 5-й бит, который будет подавать напряжение на 11-й контакт нашего микроконтроллера.
Поместите следующий код в файл кода вашего проекта.
Теги: #arduino #Atmel Studio #C++ #Разработка на Arduino#include <avr/io.h> #define F_CPU 16000000UL //16MHz #include <util/delay.h> int main(void) {
-
Вьетнамский Язык
19 Oct, 24 -
Функционализм В Лингвистике
19 Oct, 24 -
Бесконтактная Зарядка Для Автомобилей
19 Oct, 24 -
Карманный Алкотестер Drinkmate
19 Oct, 24 -
Модификация Системного Вызова. Часть 2
19 Oct, 24