Всем привет, купил несколько плат на чипе Atmega328PB - клоны мини и уно, установил MiniCore, выбрал соответствующий чип, заливаю пустой скетч, а дальше платы ведут себя странно:
Загрузка падает то с ошибкой
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x85
то с такой (как мне кажется эта всегда следует за not responding, но через какое-то время само вылечивается)
avrdude: ser_open(): can’t set com-state for “\.\COM10”
При этом если вместо неё вставляю тут же “обычную” уно из запасов - всё прекрасно работает
Ошибку can’t set com-state for COM пробовал диагностировать со стороны пк (вин 11) - проверил что никто не удерживает порт, менял порт, устанавливал последний драйвер для CH340. И ещё раз: с другой платой прошивка работает сразу же после замены, а после обратной замены снова показывает ошибку can’t set com-state.
Потом удалось “оживить” плату используя ATmega328PB и открыв перед заливкой скетча мониторинг порта, и тут был сюрприз, avrdude ругнулся, что получил сигнатуру от Atmega328P. Я перепроверил маркировку - точно Atmega328PB. Выбрал обычную Arduino Nano - смог залить пустой скетч, но уже после заливки на самом последнем шаге порт опять стал недоступным и заливка зависла, с использованием мониторинга несколько раз смог это поведение воспроизвести, периодически ловя ошибки сверху.
Вторая купленная плата тоже на Atmega328PB - клон уно, вела себя также, кроме чипа, там он честно признавался что он PB. Попробовал обновить на ней bootloader через рабочую ардуину и MiniCore. Не помогло, попробовал ещё какие-то прошивки, вроде бы эту. После этого PB плата стала ругаться на полученную сигнатуру 0x000000. C флагом -F выдаёт такое
avrdude: AVR device initialized and ready to accept instructions
avrdude: device signature = 0x000000 (retrying)
avrdude: device signature = 0x000000 (retrying)
avrdude: device signature = 0x000000
avrdude main() error: Yikes! Invalid device signature.
avrdude main() warning: expected signature for ATmega328PB is 1E 95 16
avrdude: erasing chipavrdude: processing -U lock:w:0xff:m
avrdude: reading input file 0xff for lock
with 1 byte in 1 section within [0, 0]
avrdude: writing 1 byte lock …
***failed;
avrdude: 1 byte of lock written
avrdude: verifying lock memory against 0xff
avrdude avr_verify() warning: verification mismatch
device 0x00 != input 0xff at addr 0x0000 (error)
avrdude do_op() error: verification mismatch
Вероятно, её убил в конец.
Перед тем как их отправить в помойку, может, сообщество порекомендует что-нибудь, чтобы их воскресить? Так-то платы выглядят рабочими, обидно выкидывать. Или хотя бы помогите понять, что с ними не так. Спасибо!