реклама на сайте
подробности

 
 
> Вопрос про искусственный холодный старт, нет ли каких подводных камней ?
ttron
сообщение Jan 10 2007, 17:28
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 134
Регистрация: 1-06-05
Из: Москва
Пользователь №: 5 634



Нужно организовать искусственный холодный старт микроконтроллера PIC16F877. Для этого просто сбрасываю в ноль бит POR регистра PCON и перехожу на 0-й адрес (обычно этот бит сбрасывается аппаратно при включении питания). Там программа анализирует этот бит и работает по "холодному" старту, а затем устанавливает бит POR, чтобы все остальные рестарты были "теплые".
Корректно ли так делать, или есть какие-то подводные камни?


--------------------
"Регистрируй, наблюдай, экономь микросекунду, зря вопрос не задавай, не запоминай ерунду" (с) не помню, чье
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
xemul
сообщение Jan 11 2007, 16:19
Сообщение #2



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(ttron @ Jan 10 2007, 17:28) *
Нужно организовать искусственный холодный старт микроконтроллера PIC16F877. Для этого просто сбрасываю в ноль бит POR регистра PCON и перехожу на 0-й адрес (обычно этот бит сбрасывается аппаратно при включении питания). Там программа анализирует этот бит и работает по "холодному" старту, а затем устанавливает бит POR, чтобы все остальные рестарты были "теплые".
Корректно ли так делать, или есть какие-то подводные камни?

POR и BOR программно можно только установить в 1. Сбрасываются в 0 они аппаратно.
Если пишете на асме, то просто перед "goto 0" запишите в пару-тройку-... GPR какую-нибудь сигнатуру и анализируйте ее после сброса. Если на С, то определите пару-тройку-... переменных как persistent (они не будут инициализированы 0 в startup'е), дальше аналогично.
А если хочется совсем исключить вероятность ошибочного распознавания причины сброса, пишите флаг в EEPROM.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 12:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01392 секунд с 7
ELECTRONIX ©2004-2016