Есть плата Iskra Neo, как программировать микроконтроллер mega32U4 из среды AtmelStudio на языке С (не Wiring)? Была попытка запрограммировать по аналогии с Arduino Uno, но в первом случае у ArduinoUploader нет выбора микроконтроллера mega32U4 и не удалось загрузить прошивку, во втором случае при попытке загрузить код на С из среды Arduino слетел загрузчик платы Iskra Neo. С платой Arduino Uno всё работает. Arduino Uno, микроконтроллер mega328p, в Atmel Studio, например код мигающего светодиода: Код (C++): #include <avr/io.h> #define F_CPU 16000000UL #include <util/delay.h> int main(void){ DDRB |=1<<5; PORTB &=~1<<5; while(1){ PORTB |=1<<5; _delay_ms(100); PORTB &=~1<<5; _delay_ms(100); } } компилируем в hex файл и загружаем с помощью ArduinoUploader (указав микроконтроллер mega328p и изменив частоту синхронизации с 19200 на 115200. Или просто написав тот же самый код мигающего светодиода на языке С (не Wiring) в среде Arduino и прошить микроконтроллер, так же как и загружаются скетчи в Arduino из среды Arduino с помощью кнопки "Загрузка".
Замените в параметрах avrdude: -p atmega32u4 -c avr109 -b 57600 p.s. Wiring - это не язык, а библиотека на C++.
Плата прошивалась по материалу http://www.customelectronics.ru/avr-nachalo-rabotyi/ В этой статье используют arduino подобные платы на микропроцесоре mega8, которые прошиваются на 19200, а оригинальные arduino не прошиваются на этой частоте.
В файле boards.txt от Arduino IDE указаны актуальные параметры прошивки для оригинальных плат (и оригинальных загрузчиков).
Прошивка Iskra Neo или Strela 1 способ К пину 11 на плате IscraNeo подключаем светодиод. К выводам P1 на плате Стрела подключаем светодиод. В среде Arduino пишем код для мигания: Код (C++): В среде Arduino пишем код для мигания: void setup() { DDRB |= (1<<7); } void loop() { PORTB |= (1<<7); delay(200); PORTB &= ~(1<<7); delay(200); } Загружаем 2 способ В среде AtmelStudio 7 создаем новый проект, выбираем микроконтроллер ATmega32U4, пишем код: Код (C++): #include <avr/io.h> #define F_CPU 16000000UL #include <util/delay.h> int main(void) { DDRB |= 1 << 7; PORTB &= ~1<<7; while(1) { PORTB |= (1<<7); _delay_ms(200); PORTB &= ~(1<<7); _delay_ms(200); } } Создаем папку, в нее помещаем файлы: avrdude.exe и avrdude.conf C:\Program Files\Arduino\hardware\tools\avr\bin\avrdude.exe C:\Program Files\Arduino\hardware\tools\avr\etc\avrdude.conf Файл с прошивкой: BlinkStrela.hex и bat файл: 1.bat Содержание bat файла: Код (C++): avrdude -Cavrdude.conf -v -v -v -v -patmega32u4 -cavr109 –PCOM9 -b57600 -D -Uflash:w:BlinkStrela.hex:i Порт прошивки PCOM9 (Arduino Leonardo bootloader) смотрим в диспечере устройств, который кратковременно появляется при нажатии ресет на плате (В данном случае 9), отличается от обычного порта. В консоле набираем имя bat файла, Код (C++): 1 перегружаем плату (сдвигая переключатель), запускаем bat файл нажатием ENTER.
Сложно у тебя всё. Открываешь GUI дудки. Выбираешь файл для прошивки, выбираешь программатор. Там же пр необходимости правишь фьюзы. Прошиваешь. Зачем лишние телодвижения с батниками? Но я тебя поздравляю. Ты выздоравливаешь от вируса ардуины.