Не удается включить биты предохранителя на 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-кабели, но безрезультатно.

Если бы кто-нибудь мог подсказать мне, в каком направлении я могу попытаться найти решение или ошибки, которые я мог бы совершить, я был бы очень благодарен!

, 👍1


1 ответ


2

Я получил ответ на другом форуме. Мне не хватало конденсатора емкостью 10 мкФ между землей и сбросом Arduino. Ни в одной документации, изображении или видео, которые я видел, об этом не упоминалось. Сейчас все работает нормально.

,

таким образом, вы могли бы сжечь загрузчик без конденсатора, но не устанавливать предохранители?, @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