Как программировать микроконтроллер mega32U4 на плате Iskra Neo (Arduino Leonardo)?

Тема в разделе "Микроконтроллеры AVR", создана пользователем tiger911, 5 фев 2017.

  1. tiger911

    tiger911 Нуб

    Есть плата 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.
    [​IMG]

    Или просто написав тот же самый код мигающего светодиода на языке С (не Wiring) в среде Arduino и прошить микроконтроллер, так же как и загружаются скетчи в Arduino из среды Arduino с помощью кнопки "Загрузка".
     
    Последнее редактирование: 7 фев 2017
  2. Unixon

    Unixon Оракул Модератор

    Замените в параметрах avrdude: -p atmega32u4 -c avr109 -b 57600

    p.s. Wiring - это не язык, а библиотека на C++.
     
  3. Airbus

    Airbus Радиохулиган Модератор

    А зачем частоту синхронизации меняли?(если не Секрет)
     
    Последнее редактирование: 5 фев 2017
  4. tiger911

    tiger911 Нуб

    Плата прошивалась по материалу
    http://www.customelectronics.ru/avr-nachalo-rabotyi/
    В этой статье используют arduino подобные платы на микропроцесоре mega8, которые прошиваются на 19200, а оригинальные arduino не прошиваются на этой частоте.
     
  5. Unixon

    Unixon Оракул Модератор

    В файле boards.txt от Arduino IDE указаны актуальные параметры прошивки для оригинальных плат (и оригинальных загрузчиков).
     
  6. tiger911

    tiger911 Нуб

    Прошивка Iskra Neo или Strela
    1 способ
    К пину 11 на плате IscraNeo подключаем светодиод.
    К выводам P1 на плате Стрела подключаем светодиод.
    [​IMG]

    В среде 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.
     
    Последнее редактирование: 22 мар 2018
  7. parovoZZ

    parovoZZ Гуру

    Сложно у тебя всё.
    Открываешь GUI дудки. Выбираешь файл для прошивки, выбираешь программатор. Там же пр необходимости правишь фьюзы. Прошиваешь. Зачем лишние телодвижения с батниками?
    Но я тебя поздравляю. Ты выздоравливаешь от вируса ардуины.