Arduino Pro Micro Ошибка запроса дескриптора USB

iFoR

✩✩✩✩✩✩✩
27 Июн 2020
28
0
@kalobyte, Когда загружаешь скетч выбрав Micro горят две красные лампочки на плате, но Blick работает, всё так же с периодичностью в 2 сек. Когда загружаешь скетч выбрав Leonardo две красные лампочки на плате не горят, Blick работает, всё так же с периодичностью в 2 сек.
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
Подключил светодиод, все моргает но с периодичностью в 2 сек, хотя в коде написано 1000 мсек
Обратите внимание на выставленную частоту в IDE. На плате у вас кварц 8 MHz. И да, не заморачивайтесь со всякими там дескрипторами, для вас это тёмный лес пока что. 32u4 работает именно так. При запуске кода в ней теряется связь с ПК. Та что всё правильно работает. Разберитесь с частотами.
Blick работает, всё так же с периодичностью в 2 сек.
Т.е 2 сек. светится, 2 сек. пауза?
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
или фьюзы в контроллере не так выставлены
так фьюзы вроде как сама IDE выставляет... Просто если компиляция делалась для 16 MHz, а в реальном контроллере 8, так и код в нём будет работать в два раза медленнее, соответственно delay() также.
 
Изменено:

iFoR

✩✩✩✩✩✩✩
27 Июн 2020
28
0
@PiratFox, А собственно говоря, где меняется частота в IDE, а то что-то я найти ее не могу
 

kalobyte

★★★✩✩✩✩
1 Янв 2020
724
148
так фьюзы вроде как сама IDE выставляет...
не знаю как там с этой платой, все хочу ее заказать
фьюзы выставляются один раз при записи загрузчика юарт
если ты хочеш работать на 8мгц и 3.3в, то надо менять загрузчик и соответственно поменяются фьюзы
и соответственно надо будет выбирать вариант платы на 8мгц, чтобы констанца F_CPU была 8000000 и генерировались правильные временные задержки
а у автора частота вроде 8мгц, а константа как для 16

насколько я знаю - для работы усб надо кварц на 12мгц минимум
это только в стм32 можно из 8 внутренних сделать 48 через синтезатор, но даже там ставят 12 или 16мгц внешний кварц
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
@iFoR, только что смотрел, для леонардо там и правда нет этой опции. Тогда повторю вопрос: светодиод 2 сек. светится, 2 сек. пауза?

насколько я знаю - для работы усб надо кварц на 12мгц минимум
А как же тогда Pro Mini 3.3v, 8MHz? У меня IDE шьёт её ваще без вопросов...
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
@iFoR, да тут подумать немного надо. Дело в том, что у леонардо тот же контроллер 32u4, только 16 MHz. При этом в IDE нет опции выбора частоты для леонардо. Соответственно, и компиляция делается для 16 MHz. Попробуйте выбрать плату "Arduino Leonardo ETH". Правда, я не знаю для какой это частоты, но я бы попробовал, а вдруг.... Вреда уж точно не будет. Кстати, кроме леонардо, что вы ещё выбирали?
 

iFoR

✩✩✩✩✩✩✩
27 Июн 2020
28
0
@PiratFox, Только Leonardo и Micro

@PiratFox, Загрузил, используя Arduino Leonardo ETH, периодичность осталось, так же 2 сек
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
если ты хочеш работать на 8мгц и 3.3в, то надо менять загрузчик и соответственно поменяются фьюзы
Зачем для этой конкретной платы что-то менять? Она и так на 8 MHz. Соответственно и загрузчик в ней для этой конфигурации.

@iFoR, кажется нашёл. Вот аналог тыц. Соответственно и в IDE эту же плату выбирайте.
 
  • Лойс +1
Реакции: iFoR

iFoR

✩✩✩✩✩✩✩
27 Июн 2020
28
0
@PiratFox, Отлично, работает с периодичностью 1 сек

@PiratFox, @kalobyte, ОНО ЗАРАБОТАЛО, Дескриптор в норме, Пк видит ее нормально, ошибки "Неопознаное USB устройство, Ошибка запроса дескриптора USB" больше нет, всё распознается с первого раза. Слава богам, и вам ребята, спасибо всем кто был со мной эти двое суток. Еще раз благодарю)))
 

kalobyte

★★★✩✩✩✩
1 Янв 2020
724
148
ну как я и говорил, что плата в реале одна, а в иде выбрана другая и тайминги не совпадают, потому частота усб неправильная и хост принимает данные, но не может правильно интерпретировать их

посмотрел сейчас даташит на 32у4, там оказывается 8мгц кварца хватает и для работы от 5в и от 3.3
но если питать от 5в, то можно разогнать до 16мгц
все равно внутренний усб модуль должен работать на 48мгц от любого кварца

видать в библиотеках ардуины где-то есть упоминание консцанты ф_цпу, за счет которой конфигурируется модуль фапч для правильной работы
а в иде скрыты подробности частот
можно было посмотреть в файле boards.txt конфиг плат и подправить или копию сделать, а то может быть он сейчас выбрал плату такую, а на ней часть выводов отсутствует, а в реальной его плате они есть
а он их в коде бы заюзал и вышла бы ошибка
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
а в реальной его плате они есть
а он их в коде бы заюзал и вышла бы ошибка
Вот чтобы такого не было, я давал @iFoR ссылки на даташиты плат. Что же он, не сравнит их, что ли?
а в иде скрыты подробности частот
Вот в этом и дело. Там ещё много чего скрыто. А ковыряться в конфигах - удовольствие так себе. Ардуино ИДЕ сама по себе неполноценна. Вот поэтому для чипов Атмел я предпочитаю писать в Атмел студио. Она имеет дело с чипами, а не с платами. Там эта вся инфа доступна и легко конфигурируется. К тому же для студии ардуиновский плагин есть.
 
Изменено:

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
плата в реале одна, а в иде выбрана другая
мне это было понятно почти с самого начала. Вот только в ИДЕ нет платы Про микро, поэтому и подбирать пришлось похожую.

а что за плагин?
Arduino IDE for Atmel Studio 7. Из ардуино иде подтягивает либы, скетчи. Ну и ещё кой-чего делает. Удобная весчь.
 

kalobyte

★★★✩✩✩✩
1 Янв 2020
724
148
это же visual micro
у меня он стоит, только у меня обычная студия 2019, я там на шарпе иногда пишу
но этот плагин юзает те же конфиги, что и ардуина
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
Точнее, на ядре visual micro, но для атмел студио.

только у меня обычная студия 2019
в смысле Visual Studio 2019 от MS?

но этот плагин юзает те же конфиги, что и ардуина
Точно. Только конфиги можно менять из атмел студио. Что куда удобнее, чем ковыряться в них блокнотом.