Похоже проблема с прошивкой Arduino UNO решена

Не я один сталкивался с проблемой прошивки Arduino-UNO из Arduino-IDE.
МК прошивался со страшными перебоями. Много драйверов перепробовал.В диспетчере устройств отключал и снова задействовал драйвер. Менял шнуры, подключался к разным USB - портам. Нажимал Reset перед прошивкой. Иногда плата всё - таки прошивалась.

Из программы AVRDUDESS Через программатор прошивается чётко. Но при этом AVRDUDESS в настройках требует Atmega 328PB, а при Atmega 328P работать отказывается. Я не придавал этому значения. Прошивется при 328PB - и ладно.
При прошивке из Arduino-IDE обратил внимание вот на что: AVR Part : ATmega328P.

Выработалась версия (может и ошибочная), которая была принята за рабочую.
Версия такая: при прошивке ARDUINO-IDE “думает”, что имеет дело с Atmega328P. А на деле это Atmega328PВ.
Проделал вот что.
В менеджер плат добавил такую ссылку:
https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json
Появился пакет MiniCore.
В настройках я выбрал Atmega328, а в варианте Variant: 328P / 328PA. И через шнур прошивка стала проходить успешно.
Есть ли более красивое решение, чем установка MiniCore?

то есть у вас плата 328PB, вы выбрали 328PA и прошивка стала проходить успешнее? :slight_smile:

Для справки - Ардуино, 328P / 328PA - это все одно и то же. А вот 328PB это другой контроллер

2 лайка

По моему , установка MiniCore - это и есть красивое решение.

2 лайка

Будет красивым, если выбирать в аддоне тот чип, что на плате стоит

а что есть красота в вашем понимании ?)))

Знать, бы, какой это чип. Надписи на микросхемах сточены так, что ни сода, ни зубной порошок не помогает.
Я могу ошибаться, но такое ощущение, что на плате несоответствие микросхем.

Arduino IDE пишет:
AVR Part : ATmega328P

А AVRDUDESS через программатор USBasp подавай ATmega328PB, иначе отказывается работать.

Где там у вас ардуино ИДЕ пишет?Сигнатура чипа какая?AVRDUDESS вам говорит что у вас ATmega328PB.Значит он и есть. В него прошивку для ATmega328P(к примеру) вы не прошьете.

  1. ATmega328PB - 0x1E 95 16
  2. ATmega328P - 0x1E 95 0F
  3. ATmega328PA - 0x1E 95 0F
  4. ATmega328A - 0x1E 95 14
  5. ATmega328 - 0x1E 95 14
2 лайка

IDE через uart получает сигнатуру не от микропроцессора, а от загрузчика. В загрузчике просто вшито что это 328p.

Программатор же считывает истинную сигнатуру чипа ….

2 лайка

А может и весь загрузчик не подходит к этой плате? Бывает так, что (без MiniCore) Writing выполняется на 100%, а Reading обрывается. А бывает так, что сразу ошибка синхронизации. Китайцы вшивают в 328PB не то, что надо? Если бы найти “то, что надо” (только где это взять) и прошить программатором…

Вы лучше послушайте, что вам умные люди говорят, а не придумывайте объяснения, которые вам будут больше нравиться.

В пакете MiniCore есть поддержка 328PB. Но судя по всему мы общаемся с фантазером.И советовать что-то бесполезно. Китайцы виноваты.

Ну и толку с этой поддержки, если с этой поддержкой не прошивается??? А прошивается с 328P.

А это что такое?Еще раз спрошу -СИГНАТУРА какая?Или будем на ромашке гадать?


Какой мк у вас появляется при нажатии кнопки “Detect”? У меня нет 328РВ -показал на 328Р

Если Detect при ATmega328PB, то выходит вот это:

>>>: avrdude.exe -c usbasp -P usb -b 115200 -B 0.5 -p m8 
Detected 1e9516 = ATmega328PB

Но если в настройке установить ATmega328P и нажать Detect, то настройка возвращается на ATmega328PB.

Но если в настройке установить ATmega328P, а Detect не нажимать, то над кнопкой Detect появляется надпись 1E950F

И что?
Все что вы написали, указывает на 328PB

Вы сюда за решением пришли или просто поговорить?

Должно быть обратно-совместимым. На сколько я помню, там чуть больше периферии и таймеров. Есть у меня несколько ентих РВ, но как их отличить? Чиркануть софт для дополнительной периферии? Есть варианты? Протеус не?

Сначала я сюда пришёл за советом. Так как проблема записи через шнур решилась. Но решилась с установкой MiniCore.

@Komandir в #8 сказал, что в згрузчике вшито 328P.
В связи с этим возник такой вопрос. Где взять такой загрузчик, который бы соответствовал плате 328PB. Всего - навсего.

Сигнатура из чипа считывается кнопкой Detect, если ее не нажимать, то она устанавливается в зависимости от выбранного МК

В пакете miniCore

Прошивки для 328p заливаются в 328pb без проблем, тут на форуме это уже обсуждалось

Подскажите, пожалуйста. Как называется этот загрузчик?