Здравствуйте собрал по схеме из этой статьи фьюз доктор, вылечил одну 328 мегу, но потом решил дописать программу получше, но в итоге опять её залочил, взял другую и заметил что hfuse не пишется. А разлочить atmega328p надо. Пробовал другие прошивки, но везде не помогает.
// Желаемая конфигурация предохранителя //Фьюзбит доктор для Меги 8/48/88/168/328 //После лечения чип снова виден для ISP программатора //нужные фьюзы раскоментировать ненужные закоментировать //#define HFUSE 0xD9 // дефолтные фьюзы для ATmega 8 //#define LFUSE 0xE1 // дефолтные фьюзы для ATmega 8 //#define HFUSE 0xDF // дефолтные фьюзы для ATmega 168 //#define LFUSE 0x62 // дефолтные фьюзы для ATmega 168 #define HFUSE 0xD9 // дефолтные фьюзы для ATmega 328 #define LFUSE 0x62 // дефолтные фьюзы для ATmega 328 /* HVFuse - Use High Voltage Programming Mode to Set Fuses on ATmega48/88/168 09/23/08 Jeff Keyzer http://mightyohm.com The HV programming routines are based on those described in the ATmega48/88/168 datasheet 2545M-AVR-09/07, pg. 290-297 This program should work for other members of the AVR family, but has only been verified to work with the ATmega168. If it works for you, please let me know! http://mightyohm.com/blog/contact/ */
// Desired fuse configuration #define HFUSE 0xDF // Default for ATmega48/88/168, for others see #define LFUSE 0x62 // http://www.engbedded.com/cgi-bin/fc.cgi
// Pin Assignments #define DATA PORTD // PORTD = Arduino Digital pins 0-7 #define DATAD DDRD // Data direction register for DATA port #define VCC 8 #define RDY 12 // RDY/!BSY signal from target #define OE 11 #define WR 10 #define BS1 9 #define XA0 13 #define XA1 18 // Analog inputs 0-5 can be addressed as #define PAGEL 19 // digital outputs 14-19 #define RST 14 // Output to level shifter for !RESET #define BS2 16 #define XTAL1 17
#define BUTTON 15 // Run button
void setup() // run once, when the sketch starts { // Set up control lines for HV parallel programming DATA = 0x00; // Clear digital pins 0-7 DATAD = 0xFF; // set digital pins 0-7 as outputs pinMode(VCC, OUTPUT); pinMode(RDY, INPUT); pinMode(OE, OUTPUT); pinMode(WR, OUTPUT); pinMode(BS1, OUTPUT); pinMode(XA0, OUTPUT); pinMode(XA1, OUTPUT); pinMode(PAGEL, OUTPUT); pinMode(RST, OUTPUT); // signal to level shifter for +12V !RESET pinMode(BS2, OUTPUT); pinMode(XTAL1, OUTPUT);
pinMode(BUTTON, INPUT); digitalWrite(BUTTON, HIGH); // turn on pullup resistor
// Initialize output pins as needed digitalWrite(RST, 1); // Level shifter is inverting, this shuts off 12V }
void loop() // run over and over again { while(digitalRead(BUTTON) == HIGH) { // wait until button is pressed } // Initialize pins to enter programming mode digitalWrite(PAGEL, LOW); digitalWrite(XA1, LOW); digitalWrite(XA0, LOW); digitalWrite(BS1, LOW); digitalWrite(BS2, LOW); // Enter programming mode digitalWrite(VCC, HIGH); // Apply VCC to start programming process digitalWrite(WR, HIGH); // Now we can assert !OE and !WR digitalWrite(OE, HIGH); delay(1); //chip erase digitalWrite(RST, 0); digitalWrite(XA1, 1); digitalWrite(XA0, 0); digitalWrite(BS1, 0); sendcmd(B10000000); delay(1); digitalWrite(XTAL1, HIGH); digitalWrite(WR, 0); delay(100); //chip erase
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
После праздников еще не отошли что-ли? Очевидно же, что ТС прогу писал для целевого МК, зашивал отдельно фьюзы нужные для проги и тем самым лочил его. Теперь не может разлочить его через доктора. Только предлагает теперь понять почему это не происходит путем гадания на кофейной гуще.
Михаил_avr, подключайтесь по терминалу (UART) к доктору и смотрите вывод. Без диагностической информации гадать можно долго. Ну и с чего вы соб-но вообще взяли что именно HFUSE не пишется, а не в принципе все?
slav0n, это бред. Это не из программы. Из программы невозможно поменять фьюзы.
Это только объявление константы "HFUSE" равной 0xFF для использования в коде и всё. Ниекакого отношения к изменению фьюзов эта константа не имеет, мало того она даже до МК не дойдёт, а будет заменена препроцессором если гдето в коде встретится на 0xFF ещё до компиляции.
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
всё, я затупил это свои фьюзы не меняются из программы А это программа для доктора, а установка фьюзов происходит на пациенте... прошу пардону...
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Из программы самому себе нельзя поменять фьюзы. А выше типа меняются фьюзы другому МК в HVPP режиме через какую-то убогую ардуиновкую прошивку а-ля доктор. Так и надо сразу говорить.
Из программы самому себе нельзя поменять фьюзы. А выше типа меняются фьюзы другому МК в HVPP режиме через какую-то убогую ардуиновкую прошивку а-ля доктор. Так и надо сразу говорить.
но потом решил дописать программу получше, но в итоге опять её залочил
из программы аврки не лочатся.
непонимание пошло отсюда - кого её? А так - да, из программы аврки не лочатся. и эту фразу можно трактовать только о самоблокировке, потому-что аврки лочатся программатором (а то, что в нём тоже программа и в компе программа - так аврке на это глубоко пофиг, залочить её можно и прицепив тумблеровы на входы ресет, клок и моси)
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 31
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения