Обсуждаем контроллеры компании Atmel.
Ответить

USB и ATMEGA32U4

Пт фев 09, 2018 20:29:24

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

Re: USB и ATMEGA32U4

Сб фев 10, 2018 13:00:21

А, что с пятой ногой непонятно? Куда ее прицепил, то, что синим?
Отцепи 12 ногу и попробуй.
не реклама глянь может, что прояснит в голове, а то, бывает, как упрешься, а оно вот-рядом :))
http://microsin.net/programming/avr/avr-usb32u4.html

Добавлено after 1 hour 59 minutes 8 seconds:
А, что с пятой ногой непонятно? Куда ее прицепил, то, что синим?
Отцепи 12 ногу и попробуй.
не реклама глянь может, что прояснит в голове, а то, бывает, как упрешься, а оно вот-рядом :))
http://microsin.net/programming/avr/avr-usb32u4.html

Ну, что у тебя???
А еще бы прошивку глянуть, если не секрет конечно.

Добавлено after 8 minutes 21 second:
А, что с пятой ногой непонятно? Куда ее прицепил, то, что синим?
Отцепи 12 ногу и попробуй.
не реклама глянь может, что прояснит в голове, а то, бывает, как упрешься, а оно вот-рядом :))
http://microsin.net/programming/avr/avr-usb32u4.html

Добавлено after 1 hour 59 minutes 8 seconds:
А, что с пятой ногой непонятно? Куда ее прицепил, то, что синим?
Отцепи 12 ногу и попробуй.
не реклама глянь может, что прояснит в голове, а то, бывает, как упрешься, а оно вот-рядом :))
http://microsin.net/programming/avr/avr-usb32u4.html

Ну, что у тебя???
А еще бы прошивку глянуть, если не секрет конечно.

А зачем такой сброс делаешь? Зачем кварц два раза прерываешь? Обясни, что делаешь?
Не все в Протеусе просто. В реале наверняка по другому. :))

Re: USB и ATMEGA32U4

Сб фев 10, 2018 21:36:53

А, что с пятой ногой непонятно? Куда ее прицепил, то, что синим?
Отцепи 12 ногу и попробуй.
не реклама глянь может, что прояснит в голове, а то, бывает, как упрешься, а оно вот-рядом :))
http://microsin.net/programming/avr/avr-usb32u4.html

Добавлено after 1 hour 59 minutes 8 seconds:
А, что с пятой ногой непонятно? Куда ее прицепил, то, что синим?
Отцепи 12 ногу и попробуй.
не реклама глянь может, что прояснит в голове, а то, бывает, как упрешься, а оно вот-рядом :))
http://microsin.net/programming/avr/avr-usb32u4.html

Ну, что у тебя???
А еще бы прошивку глянуть, если не секрет конечно.

Добавлено after 8 minutes 21 second:
А, что с пятой ногой непонятно? Куда ее прицепил, то, что синим?
Отцепи 12 ногу и попробуй.
не реклама глянь может, что прояснит в голове, а то, бывает, как упрешься, а оно вот-рядом :))
http://microsin.net/programming/avr/avr-usb32u4.html

Добавлено after 1 hour 59 minutes 8 seconds:
А, что с пятой ногой непонятно? Куда ее прицепил, то, что синим?
Отцепи 12 ногу и попробуй.
не реклама глянь может, что прояснит в голове, а то, бывает, как упрешься, а оно вот-рядом :))
http://microsin.net/programming/avr/avr-usb32u4.html

Ну, что у тебя???
А еще бы прошивку глянуть, если не секрет конечно.

А зачем такой сброс делаешь? Зачем кварц два раза прерываешь? Обясни, что делаешь?
Не все в Протеусе просто. В реале наверняка по другому. :))


Протеус только как схему использую , в реале абсолютно так же т.к. это 4 попытка сбора платы , и были учтены и найдены неожиданные ошибки . к примеру vcc на 14 пине и vcc на 34 вообще внутри платы не соединены . PB7 ни к чему не подключен т.к. не используется. Проблема не в прошивке . как я писал таже прошивка на arduino pro micro работает корректно ( перенашу с макетки на норм плату . т.к. уже не возможно программировать , чуть дёрнул и оторвал провод.

Не понимаю почему 10пкф к кварцу по схеме ? везде используют 22. В остальном схема аналогичная , правда ацп не использую поэтому avcc сразу на 5в кинул.
Ну да ладно проблема была в мк , когда ещё раз попытался залить бут от леонардо , вылетела ошибка верификации. Проверил через avrdude prog , пишет ошибка возможно стоят лок биты , проверил фьюзы , верификация норм . лок биты не стоят. В общем мк на помойку . :cry:

Дальше ещё печальнее . было 2 запасных , припаял 1 , проверил калибровочные . работает. Захожу в arduino ide нажимаю залить бут , ошибка сигнатуры проверьте мк. :shock: В обратно в ardude prog , мк неопределяется
Проверил со 2 тоже самое. Думаю зафьюзились :cry:

В общем везение. куплю завтра в чип и дипе ещё 2 , буду пробывать ( преведущие 4 тоже из чип и дипа , еслиб был другой магазин взял бы там) :?

Re: USB и ATMEGA32U4

Вс фев 11, 2018 08:35:41

Все бы вам на помойку выкидывать.
Чем шили, через какой программатор?
У ATMEGA32U4 встроенный загрузчик с независимыми битами защиты, программа-утилита FLIP.

Что бы зашить свой загрузчик через avrdude (опять не понятно какой вы шили и что в arduino вы выбрали):
-нажать чтение (где калибровочные ячейки генератора), должен прочесть
-нажать стереть все, команда должна выполнится.
Перейти на вкладку Fuses, нажать чтение, команда должна выполнится,
снять галочки с секции LockByte, если они там стоят, должно быть 3F

Далее, загрузчик,
убедиться с какого адреса он начинает стартовать, для этого надо HEX загрузчика глянуть, можно шить.
Далее на вкладке LockByte, еще можно раз нажать чтение, в секции FuseHighByte установить галочки
BOOTRST и размер загрузчика.

Если ошибка верификации то снижаем частоту SCK (без понятия каким программатор пользуетесь), и вдобавок ни одного скрина не приложили.

Re: USB и ATMEGA32U4

Вс фев 11, 2018 09:18:42

king, у тебя как с головой, всё в порядке?
это что за идиотизм цитировать свои собственные слова?

Re: USB и ATMEGA32U4

Вс фев 11, 2018 10:16:44

Все бы вам на помойку выкидывать.
Чем шили, через какой программатор?
У ATMEGA32U4 встроенный загрузчик с независимыми битами защиты, программа-утилита FLIP.

Что бы зашить свой загрузчик через avrdude (опять не понятно какой вы шили и что в arduino вы выбрали):
-нажать чтение (где калибровочные ячейки генератора), должен прочесть
-нажать стереть все, команда должна выполнится.
Перейти на вкладку Fuses, нажать чтение, команда должна выполнится,
снять галочки с секции LockByte, если они там стоят, должно быть 3F

Далее, загрузчик,
убедиться с какого адреса он начинает стартовать, для этого надо HEX загрузчика глянуть, можно шить.
Далее на вкладке LockByte, еще можно раз нажать чтение, в секции FuseHighByte установить галочки
BOOTRST и размер загрузчика.

Если ошибка верификации то снижаем частоту SCK (без понятия каким программатор пользуетесь), и вдобавок ни одного скрина не приложили.

Снижение часосты sck помогло , мк снова шьётся , но как и раньше по его теряет через 4 секунды.
Изображение
вот фьюзы , после очистки мк они не изменяются , это нормально ?
Изображение

А это программатор и устройство которое на данный момент есть.
Изображение

Добавлено after 3 minutes 22 seconds:
Dimon456, так же такой вопрос , какие ещё есть программы для загрузки кода в avr ? С консолью avdude я не смог разобратся , а в остальных программах из интернета не было atmega32u4 в списке мк.

Re: USB и ATMEGA32U4

Вс фев 11, 2018 10:44:00

Ravor писал(а):Снижение часосты sck помогло , мк снова шьётся , но как и раньше по его теряет через 4 секунды.
Покажите полностью лог, он мышкой выделяется, скопируйте и сюда.
СпойлерИзображение


Фьюзы пока сойдут. Внешний кварц имеется и на сколько?
Какой загрузчик вы туды зашиваете, выложите файл?

Re: USB и ATMEGA32U4

Вс фев 11, 2018 12:20:49

Лог , лок фьюзы не изменяются.
СпойлерCформированная командная строка:
avrdude.exe -p m32u4 -c usbasp -P usb -U flash:w:"C:\Users\Максим\Documents\Atmel Studio\7.0\LOWLEVEL_GENERIC_HID5\LOWLEVEL_GENERIC_HID5\Debug\LOWLEVEL_GENERIC_HID5.hex":a


avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% -0.00s

avrdude.exe: Device signature = 0x1e9587
avrdude.exe: NOTE: "flash" memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude.exe: erasing chip
avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: reading input file "C:\Users\Максим\Documents\Atmel Studio\7.0\LOWLEVEL_GENERIC_HID5\LOWLEVEL_GENERIC_HID5\Debug\LOWLEVEL_GENERIC_HID5.hex"
avrdude.exe: input file C:\Users\Максим\Documents\Atmel Studio\7.0\LOWLEVEL_GENERIC_HID5\LOWLEVEL_GENERIC_HID5\Debug\LOWLEVEL_GENERIC_HID5.hex auto detected as Intel Hex
avrdude.exe: writing flash (5358 bytes):

Writing | ################################################## | 100% 3.23s

avrdude.exe: 5358 bytes of flash written
avrdude.exe: verifying flash memory against C:\Users\Максим\Documents\Atmel Studio\7.0\LOWLEVEL_GENERIC_HID5\LOWLEVEL_GENERIC_HID5\Debug\LOWLEVEL_GENERIC_HID5.hex:
avrdude.exe: load data flash data from input file C:\Users\Максим\Documents\Atmel Studio\7.0\LOWLEVEL_GENERIC_HID5\LOWLEVEL_GENERIC_HID5\Debug\LOWLEVEL_GENERIC_HID5.hex:
avrdude.exe: input file C:\Users\Максим\Documents\Atmel Studio\7.0\LOWLEVEL_GENERIC_HID5\LOWLEVEL_GENERIC_HID5\Debug\LOWLEVEL_GENERIC_HID5.hex auto detected as Intel Hex
avrdude.exe: input file C:\Users\Максим\Documents\Atmel Studio\7.0\LOWLEVEL_GENERIC_HID5\LOWLEVEL_GENERIC_HID5\Debug\LOWLEVEL_GENERIC_HID5.hex contains 5358 bytes
avrdude.exe: reading on-chip flash data:

Reading | ################################################## | 100% 2.67s

avrdude.exe: verifying ...
avrdude.exe: 5358 bytes of flash verified

avrdude.exe: safemode: Fuses OK (E:CB, H:D8, L:FF)

avrdude.exe done. Thank you.


Лил бут от леонарды но , после заливки , он ничерта не делает (плата определяется но ком порт не открывается)

Добавлено after 11 minutes 18 seconds:
кварн внешний 16 мгц
Вложения
Caterina-Leonardo.hex
(75.93 KiB) Скачиваний: 614

Re: USB и ATMEGA32U4

Вс фев 11, 2018 13:01:49

Ravor писал(а):Лил бут от леонарды но , после заливки , он ничерта не делает (плата определяется но ком порт не открывается)
У вас все верно сделано.
Осталось в ArduinoIDE выбрать "плата Arduino Leonardo" и COM_PORT.
И далее попробовать загрузить какой нибудь скейтч.
если Arduino вам напишет
СпойлерНа выбранном порту плата не найдена. Проверьте, что вы выбрали правильный порт. Если порт выбран правильно, попробуйте нажать кнопку reset на плате после начала загрузки
Можно еще попробовать активировать аппаратный загрузчик, и загружать прошивки через программу-утилиту FLIP.

И да еще кое что, SCK
Ravor писал(а):avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
может хоть Яндекс-переводчиком переведете.

Re: USB и ATMEGA32U4

Вс фев 11, 2018 13:29:00

было бы чем , уже давно бы перепрошил usbasp. Я его и не собираюсь использовать как леонардо , бут лил для проверки работоспособности . которую он благополучно не показал.

Re: USB и ATMEGA32U4

Вс фев 11, 2018 13:49:43

Вот, к примеру, залили бут, подключили плату по USB к компу, дрова поставили, com-порт появился.
Запустили ArduinoIDE выбрли "плату Arduino Leonardo" и com-порт.
Взяли там какой нибудь скетч, к примеру тот же самый "блинк",
нажали в arduino "загрузка", в нижнем статус-окне написано "Компиляция скетча", после компиляции в статус-окне написано "загрузка" жмете на плате "Ресет" что после этого происходит?

Re: USB и ATMEGA32U4

Вс фев 11, 2018 13:54:50

Вот, к примеру, залили бут, подключили плату по USB к компу, дрова поставили, com-порт появился.
Запустили ArduinoIDE выбрли "плату Arduino Leonardo" и com-порт.
Взяли там какой нибудь скетч, к примеру тот же самый "блинк",
нажали в arduino "загрузка", в нижнем статус-окне написано "Компиляция скетча", после компиляции в статус-окне написано "загрузка" жмете на плате "Ресет" что после этого происходит?

загрузка заканчивается и ничерта не происходит. если попытаюсь открыть ком порт напишет что он занят.

Re: USB и ATMEGA32U4

Вс фев 11, 2018 14:00:17

Ravor писал(а):ичерта не происходит
как вы это определяете?

Re: USB и ATMEGA32U4

Вс фев 11, 2018 14:09:03

Ravor писал(а):ичерта не происходит
как вы это определяете?

да вот так:

Код:
 void setup(){
Serial.begin(9600);
delay(1000);
}

void loop(){
Serial.prinln("dfgerte");
delay(200);
}


после загрузки кода , плата начнёт спамить в сериал монитор dfgerte , но она ничерта не делает.

Re: USB и ATMEGA32U4

Вс фев 11, 2018 14:20:33

Ravor писал(а):после загрузки кода , плата начнёт спамить в сериал монитор dfgerte , но она ничерта не делает.
В каком сериал мониторе? это который через USB у вас подключен или через USB-TTL конвертер на выводы RX TX ATMEGA32U4? Боле подробно что где смотрите и как?
Такой ответ нужен: USB-TTL конвертер на выводы RX TX ATMEGA32U4, а не такой USB-ATMEGA32U4.

Ravor писал(а):возможно помог ваш совет о перепрошивке usbsasp
я ни чего не просил прошивать и тем более usbsasp программатор.
Изначально у вас было так
Ravor писал(а):Снижение часосты sck помогло , мк снова шьётся , но как и раньше по его теряет через 4 секунды
Снижение частоты SCK происходит через ключ -B. В итоге так
Ravor писал(а):avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
Но так как у вас лог отличный был, я на этом и успокоился.

И так давайте: В каком сериал мониторе и как вы смотрите, полностью схему от чипа до компа.

Re: USB и ATMEGA32U4

Вс фев 11, 2018 14:29:09

Dimon456, вы ведь никогда не работали с arduino leonardo и мегой 32u4 верно ? В atmega32u4 тупо нет встроенного uart , а бутлоадер из arduino ide создаёт cdc с возможностью программирования платы. Простыми словами usb-ttl конвертор тут не понадобится . Т.к. его не к чему подключать всю работа делает сам atmega32u4.

Re: USB и ATMEGA32U4

Вс фев 11, 2018 14:40:11

Ravor смешной ты человек.
PD3-TX и PD2-RX.
Ваш код
Код:
 void setup(){
Serial.begin(9600);
delay(1000);
}

void loop(){
Serial.prinln("dfgerte");
delay(200);
}
будет спамить на вывод PD3-TX, но не как на D+ D-.
Начните хотя бы с
Код:
/* Initialize USB Subsystem */
   USB_Init();
Имел дело с программным USB.

Re: USB и ATMEGA32U4

Вс фев 11, 2018 15:00:11

Dimon456 блин , да вы правы , писец я ошибался , думал что у atmega32u4 нет usart.

Добавлено after 9 minutes 38 seconds:
Ravor смешной ты человек.
PD3-TX и PD2-RX.
Ваш код
Код:
 void setup(){
Serial.begin(9600);
delay(1000);
}

void loop(){
Serial.prinln("dfgerte");
delay(200);
}
будет спамить на вывод PD3-TX, но не как на D+ D-.
Начните хотя бы с
Код:
/* Initialize USB Subsystem */
   USB_Init();
Имел дело с программным USB.


Большое спасибо за помощь , но проблема была в мк. Только что сменил на новый из чип и дипа , опять таже партия , avrdude_prog напрочь зависает при попытке запрограммировать fuse биты , но кое как сделал , залил код , и он работает. Наконец то. :))

В общем сейчас я имею 2 зафьюзеных мк , 2 мк с поганым usb (на 1 испортился из-за плохого травления , в итоге на д-+ подавалось 5в) , 2-му был посвящен этот топик. 1 запасной мк , 1 рабочий , и 1 в фиг его знает каком состоянии , не рискнул его использовать , т.к. я снимал его китайским дешовым феном раз 7 , при том что , фен может макс греть до 450 С , а на табло высвечивает 800 , в итоге фиг его знает что сейчас за температура была.

Re: USB и ATMEGA32U4

Пт дек 02, 2022 08:12:30

Всем доброго здравия. Странная штука с Arduino Pro Micro ATmega32U4 получается. При эмуляции клавиатуры с нажатием сочетания клавиш Alt + Ctrl по[/color]мимо этого сочетания на компьютер пролазит ещё и Alt + Shift, на котором у меня висит смена раскладки клавиатуры. Никакие танцы с бубнами не помогают. Проверял в windows и debian - всё одинаково. Смена версии IDE ничего не меняет. Все варианты нажатия и отжатия клавиш, изменения задержек были проверены. Девайс в настройках определял и как leonardo и как micro. Платы две, от разных продавцов, на них даже светодиоды разные, но результат глюка один и тот же. Складывается впечатление, что собака зарыта где-то в библиотеках. Как сей баг преодолеть, вот в чём вопрос?
Код:
#include <Arduino.h>
#include "Keyboard.h"

void pressEnter()
{
    Keyboard.press(KEY_RETURN);
    delay(50);
    Keyboard.release(KEY_RETURN);
}

void runTerminal()
{
    //--- Нажимаем необходимые клавиши по очереди Ctrl+Alt+T
    Keyboard.press(KEY_LEFT_CTRL);
    delay(1000);
    Keyboard.press(KEY_LEFT_ALT);
    delay(1000);
    Keyboard.write('T');
    delay(10);
    Keyboard.releaseAll(); // отжимаем все клавиши
}

void setup()
{
    Keyboard.begin(); // начало эмуляции клавиатуры
    delay(2000);      // задержка 5 секунд
    //--- Запуск консольного терминала Linux
    runTerminal();
    delay(2000);
    //--- Подача в открытом терминале команды на вывод текста 'Hello World'
    // Keyboard.print("echo 'Hello World'");
    delay(100);
    // pressEnter(); // клик по клавише Enter
    //---
    delay(1000);
}

void loop()
{

}
Ответить