А SPIEN он тоже может восстановить?
Вид для печати
Да, он в основном для этого и используется.
---------- Post added at 19:24 ---------- Previous post was at 19:23 ----------
Вот один из примеров:
http://www.getchip.net/posts/059-isp...usebit-doctor/
А в AVR может самостоятельно грузить внешнюю прошивку, например с какой-нибудь SPI-ПЗУ типа 25X80?
В принципе такой вариант возможен.Цитата:
Сообщение от CodeMaster
Для этого надо написать специальный загрузчик, который прописать в зону BOOT.
Такой вариант наверное целесообразно делать только если требуется при старте,
по какому-либо признаку загружать специфическую версию прошивки.
По Datasheet не менее 10 тысяч циклов стирания/записи.Цитата:
Сообщение от CodeMaster
Коллеги, подскажите по фьюзам для ATMega8. Сделал (повторил) на этом МК датчик давления масла с цифровой индикацией в машину. Вот тут все подробности: http://www.priorovod.ru/showpost.php...97&postcount=5. Мегу шил в ПониПроге. Биты выставлял согласно статье автора (http://bascom.at.ua/publ/universalny...kator/1-1-0-61):
http://bascom.at.ua/2011/2chan_indik/fise8mgc.jpg
Всё вроде работало нормально, но сегодня проявился глюк с порчей информации в EEPROM Меги. Возможность появления этого глюка описана в статье по ссылке выше:
Автор с этой проблемой борется аппаратно. Но мне на другом форуме (http://radiokot.ru/forum/viewtopic.p...4e222#p1038408) подсказали, что надо +ещё надо выставить бит BODEN:Цитата:
"...Однако на моделях МК Atmega8A (с индексом А) были замечены сбои работы с памятью EEPROM, что выражалось в нарушении значений данных EEPROM при коммутации напряжения питания устройства. Были приняты меры по повышению помехоустойчивости схемы: установка дросселя в цепи питания и конденсатора повышенной емкости. На крайний случай помогала установка Fuse на тактовую частоту 4 МГц...."
http://c2.at.ua/3m/S_V_A/fise8mgc.jpg
В других местах его тоже очень рекомендовали выставлять, т.к. этот бит включает контроль за напряжением питания:
Завтра сниму девайс с машины и перепрограммирую Мегу с этим битом. Помехоустойчивость повыситься? А BODLEVEL оставить пустым (2.7В) или туда тоже галку поставить (4.0В)? Как я понял, это пороги питающего напряжения при которых МК сам блокирует свою работу?Цитата:
BODLEVEL и BODEN - это режим контроля за напряжением. Дело в том, что при определенном пороге напряжения, ниже критического уровня, контроллер может начать сильно глючить. Самопроизвольно может запортачить, например, EEPROM или еще что откосить. Ну, а ты как думал, не покорми тебя с пару недель — тоже глючить начнешь :)
Так вот, для решения этой проблемы есть у AVR встроенный супервизор питания. Он следит, чтобы напруга была не ниже адекватного уровня. И если напруги не хватает, то просто прижимает RESET и не дает контроллеру стартовать. Вот эти два фуза и рулят этой фичей. BODEN включает, а BODLEVEL позволяет выбрать критический уровень, один из двух. Какие? Не буду раскрывать, посмотри в даташите (раздел System Control and Reset).
Подниму старую темку.. Я тут немного затупил...((( Мне нужно передавать и принимать данные от двух далласов, подключенных к разным портам тиньки. А процедуры w1_read и w1_write работают с одним портом, прописанным при инициализации.. Как в таком случае можно поступить?