Не удается включить биты предохранителя на ATmega168 с Arduino Uno в качестве ISP
У меня есть ATmega168, который я программирую через свой Arduino Uno в качестве ISP. Я могу запросто записать загрузчик и перенести шестнадцатеричный файл, но, похоже, я не в состоянии изменить биты предохранителей. Я обнаружил, что у многих людей возникают подобные проблемы, но большинство из них все еще не были решены после многих лет или вообще не могут подключиться к своему чипу.
Странная вещь, которую я замечаю, заключается в том, что моя ATmega все время распознается как 328p. Я знаю, что они практически идентичны, но ничего не работает, когда я меняю настройки на 168, мне всегда приходится устанавливать 328p. Avrdude говорит мне, что подпись неправильная, всякий раз, когда я пытаюсь сделать это с 168. Может быть, это уже показатель того, что что-то не так!? Я заказал 168, и он напечатан на чипе, так что это должно быть настоящее 168.
Кроме того, я заметил, что могу использовать скорость передачи данных только 115200, но я прочитал, что только 19200 должно быть правильным, и когда я использую это, я также не получаю ответа.
Это команда, которую я пытаюсь использовать:
avrdude -Cavrdude.conf -patmega328p -PCOM3 -carduino -b115200 -U efuse:w:0x00:m -U hfuse:w:0xDD:m -U lfuse:w:0xFF:m
И я получаю такой ответ:
avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
0x00 != 0xdd
avrdude: verification error; content mismatch
Я пробовал другое программное обеспечение и разные USB-кабели, но безрезультатно.
Если бы кто-нибудь мог подсказать мне, в каком направлении я могу попытаться найти решение или ошибки, которые я мог бы совершить, я был бы очень благодарен!
@beast.caged, 👍1
1 ответ
Я получил ответ на другом форуме. Мне не хватало конденсатора емкостью 10 мкФ между землей и сбросом Arduino. Ни в одной документации, изображении или видео, которые я видел, об этом не упоминалось. Сейчас все работает нормально.
- avrdude ser_open() can't set com-state
- Не удается снова загрузиться после смены платы
- Arduino UNO для получения подписи чипа ATmega328P-PU
- Поддерживают ли чипы ATMega 328/2560 JTAG-программатор и аппаратный отладчик?
- Arduino не реагирует на macbook pro
- Ошибка при записи загрузчика
- Что означает avrdude: Device signature = 0x000000? Неисправная проводка? Проблема с программным обеспечением? Неправильная инструкция?
- Ошибка проверки Avrdude
таким образом, вы могли бы сжечь загрузчик без конденсатора, но не устанавливать предохранители?, @Juraj
[Этот официальный документ](https://www.arduino.cc/en/pmwiki.php?n=Tutorial/ArduinoISP) упоминает конденсатор в тексте. Хотя это не очень понятно и не показано на электрических схемах. Официальные документы Arduino часто не так хороши, @chrisl
@Juraj Похоже, что я все время обращался к ATmega328P на самом Arduino, так что я, вероятно, загрузил все в него вместо 168., @beast.caged
@chrisl Спасибо, что указал на это! По-видимому, этого также достаточно для прямого подключения +5 В и пин сброса, но я еще этого не сделал., @beast.caged
невозможно записать загрузчик на программатор as ISP Arduino, @Juraj
Хорошо. Однако процесс записи прошел без ошибок, и в конце я также получил подтверждение. Так что понятия не имею, куда делись эти данные, это было только мое предположение :), @beast.caged