coolibin 0 31 января, 2008 Опубликовано 31 января, 2008 · Жалоба Какие действия обязательны после сброса ATmega8? например, для всех обязательным является устанавление адреса стека. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 1 31 января, 2008 Опубликовано 31 января, 2008 · Жалоба Какие действия обязательны после сброса ATmega8? например, для всех обязательным является устанавление адреса стека. Вот и не правда! Стек может не использоваться! Если не разрешать прерывания и не пользоваться подпрограммами. У меня есть такой хитрый проект где авр используется просто как автомат по генерации определенного сигнала. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость =VRA= 31 января, 2008 Опубликовано 31 января, 2008 · Жалоба Обязательно инициализировать (=настроить) ВСЮ периферию (порты, таймеры, АЦП, УАРТ и т.п.), которую будешь использовать, и отключить ту, которую не будешь (например, WDT). Обязательно правильно выставить фузы (настроить тактирование, BOD, совместимость и т.д.). А указатель стека нужно инициализировать хотя бы для того, чтобы потом не рвать на лысине волосы в поисках загадочных глюков Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 1 31 января, 2008 Опубликовано 31 января, 2008 · Жалоба и отключить ту, которую не будешь (например, WDT). Если у вас после reset включен watchdog, отключить его все равно не удастся. Обязательно правильно выставить фузы (настроить тактирование, BOD, совместимость и т.д.). А это делается при прожигании, а не после reset Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladimirYU 0 31 января, 2008 Опубликовано 31 января, 2008 · Жалоба Иногда бывает полезно неиспользуемые ноги портов привести в строго определенное сосотояние. Например сконфигурировав их на выход и записать туда нули. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 1 31 января, 2008 Опубликовано 31 января, 2008 · Жалоба Иногда бывает полезно неиспользуемые ноги портов привести в строго определенное сосотояние. Например сконфигурировав их на выход и записать туда нули. Это точно! Особенно на испытаниях при понижении температуры при -10 черте что начинается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
arttab 0 1 февраля, 2008 Опубликовано 1 февраля, 2008 · Жалоба Если у вас после reset включен watchdog, отключить его все равно не удастся. А это делается при прожигании, а не после reset с чего это не получиться. процедура отключения написана в доке Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adc 0 1 февраля, 2008 Опубликовано 1 февраля, 2008 · Жалоба с чего это не получиться. процедура отключения написана в доке Ссылочку не дадите где описывается процедура изменения состояния fuse битов программно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
arttab 0 4 февраля, 2008 Опубликовано 4 февраля, 2008 · Жалоба Ссылочку не дадите где описывается процедура изменения состояния fuse битов программно? в разделе самомрограммирование указано какие биты и как менять. У Вас вопрос был по watchdog. вот пример из доки: void WDT_off(void) { /* reset WDT */ _WDR(); /* Write logical one to WDCE and WDE */ WDTCR |= (1<<WDCE) | (1<<WDE); /* Turn off WDT */ WDTCR = 0x00; } раздел называется Timed Sequences for Changing the Configuration of the Watchdog Timer. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adc 0 4 февраля, 2008 Опубликовано 4 февраля, 2008 · Жалоба в разделе самомрограммирование указано какие биты и как менять. У Вас вопрос был по watchdog. вот пример из доки: void WDT_off(void) { /* reset WDT */ _WDR(); /* Write logical one to WDCE and WDE */ WDTCR |= (1<<WDCE) | (1<<WDE); /* Turn off WDT */ WDTCR = 0x00; } раздел называется Timed Sequences for Changing the Configuration of the Watchdog Timer. Это обычная процедура отключение вачдок таймера не изменяющая fuse бит wdton! Почитайте апнот:avr109 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 1 4 февраля, 2008 Опубликовано 4 февраля, 2008 · Жалоба в разделе самомрограммирование указано какие биты и как менять. У Вас вопрос был по watchdog. вот пример из доки: void WDT_off(void) { /* reset WDT */ _WDR(); /* Write logical one to WDCE and WDE */ WDTCR |= (1<<WDCE) | (1<<WDE); /* Turn off WDT */ WDTCR = 0x00; } раздел называется Timed Sequences for Changing the Configuration of the Watchdog Timer. Только эта последовательнсть не работает если установлен fuse бит wdton всегда включен - значит всегда включен! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
coolibin 0 4 февраля, 2008 Опубликовано 4 февраля, 2008 · Жалоба а мне кто нибудь подскажет где почитать про fuse,lock биты и как с ними работать через avreal32? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 1 4 февраля, 2008 Опубликовано 4 февраля, 2008 · Жалоба а мне кто нибудь подскажет где почитать про fuse,lock биты Лучше всего в даташите на конкретную модель. Раздел Memory Programming как раз и начинается с LOCK и FUSE битов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
coolibin 0 4 февраля, 2008 Опубликовано 4 февраля, 2008 · Жалоба А ещё вопрос можно? а зачем нужен watchdog таймер? а то как то размыто пишут Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladimirYU 0 4 февраля, 2008 Опубликовано 4 февраля, 2008 · Жалоба а мне кто нибудь подскажет где почитать про fuse,lock биты и как с ними работать через avreal32? Про биты в даташитс на соответствующий контроллер, про avreal32 на сайте автора. http://www.ln.ua/~real/avreal/index.html А ещё вопрос можно? а зачем нужен watchdog таймер? а то как то размыто пишут Для реализации сброса контроллера в случае его зависания по какой-либо причине, например, бесконечный цикл. Это один из механизмов самовостановления работоспособности устройства, и поиска фатальных программных ошибок. Если кратко. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться