Восстановление всех fuse-битов на AtMega328P-PU
Я работал с битами Low Fuse в AVRDUDEPROG 3.3. Предохранители были неинвертированные. И по ошибке я включил SUT1 и SUT0, когда был включен SUT0. И когда я программировал avr, он показывает мне ошибку, что avrdude.exe: инициализация не удалась, rc=-1. Я читал, что могу восстановить его с помощью Avr Fuse Doctor, но не могу купить или сделать с помощью печатной платы. Могу ли я восстановить avr с помощью:
#include <avr/io.h>
int main(void) {
DDRB = 0xFF;
while(1) {
PORTB ^= 0xFF;
}
}
загрузить его на другой avr и подключить к сломанному avr?
Могу ли я сделать доктора на макете или могу ли я сделать это с помощью usbasp/isp?
Могу ли я загрузить в него новый загрузчик?
1 ответ
Лучший ответ:
Следующее взято из: https://www.allaboutcircuits.com/projects/atmega328p-fuse -биты-и-внешний-кристаллический-осциллятор/
"Два бита, которых следует избегать, если вы не абсолютно уверены, что знаете, что делаете, - это бит 7, бит RSTDISBL (отключение внешнего сброса) и бит 5, бит SPIEN (включение последовательного периферийного интерфейса). Отключение любого из них - это часто являются причиной «кирпича» микросхем Atmel; «оставьте их в покое» — хороший совет».
Согласно статье SUT0 и SUT1 — это биты, связанные со временем запуска часов. Кажется, что для их изменения не нужно использовать что-то особенное.
Информация на сайте будет очень полезна. Я знаю, что да.
Упомянутый вами программатор высокого напряжения (также и другие названия) не понадобится, если вы заменили только предохранители SUT0 и SUT1.
ОДНАКО, если вы меняли предохранители SPIEN или RSTDISBL, вам следует либо приобрести один из специальных программаторов, либо просто купить другой микропроцессор 328P.
Если вы поищите в Интернете «программатор высокого напряжения AVR», вы найдете множество идей о том, как его создать.
Эта ссылка: https://electronics.stackexchange.com/questions/33/ arduino-as-avr-программист/71 предоставляет полезную информацию.
У меня есть 2 atmega328 и один uno. ХОРОШО. Но я не касался отключения отдыха или включения Spi (я не мог его трогать, потому что он был неприкосновенен). Я установил CKSEL на 0000 без инвертирования. И установил SUT1,0=11 неинвертированный, и я загрузил его в avr. С CKSEL=0000 это сработало, потому что у меня есть внешний кристалл с частотой 16 МГц. Но когда я загрузил sut1,0=11, он показывает мне ошибку, что avrdude не может его подключить., @TheFnafException
И если знаешь, что такое программатор высокого напряжения?, @TheFnafException
Если это программатор 5В?, @TheFnafException
Нет, он включает 12 В для сброса предохранителей. У Ника Гаммона есть хорошая статья об этом здесь https://gammon.com.au/forum/?id=12898 со схемой, показывающей настройку, необходимую для приведения вывода сброса к 12 В на необходимое время под программным управлением., @CrossRoads
Спасибо, но могу ли я получить адаптер на 12 В и подключить его к Atmega с помощью резистора? И на какой контакт я его подключаю?, @TheFnafException
Эй, если у меня есть usbasp, я не смогу это сделать?, @TheFnafException
Или мне придется взять Arduino Uno и сделать это., @TheFnafException
И что мне для этого нужно сделать со своим Уно, @TheFnafException
Как получить 12В от Uno?, @TheFnafException
Используйте ссылку, опубликованную CrossRoads, вы сможете «спроектировать» способ ее использования с тем, что у вас есть..., @Wendall
- Что означает avrdude: Device signature = 0x000000? Неисправная проводка? Проблема с программным обеспечением? Неправильная инструкция?
- Заменить предохранители Arduino Uno (может ли Arduino Uno заменить свои собственные предохранители?)
- Ошибка загрузки в ATtiny
- программирование ардуино на чистом с
- Загрузка прошивки в Atmega1284p с использованием ESP8266 с AVRISP в качестве программиатора
- Как передать нестатический член класса для обратного вызова на платформах avr?
- Как обрабатываются ошибки (не связанные с синтаксисом) в Arduino и в архитектуре AVR в целом?
- Помогите понять, как avrdude работает с ArduinoISP и почему он не работает у меня.
Это не ответ на ваш вопрос, но я считаю, что этот онлайн-инструмент очень полезен при настройке предохранителей на avr-uC: http://www.engbedded.com/fusecalc/, @Sim Son