|
Вопрос про искусственный холодный старт, нет ли каких подводных камней ? |
|
|
|
 |
Ответов
|
Jan 11 2007, 11:45
|
Местный
  
Группа: Свой
Сообщений: 460
Регистрация: 5-10-06
Из: Херсон
Пользователь №: 21 006

|
Цитата(ttron @ Jan 10 2007, 18:28)  Нужно организовать искусственный холодный старт микроконтроллера PIC16F877. Для этого просто сбрасываю в ноль бит POR регистра PCON и перехожу на 0-й адрес (обычно этот бит сбрасывается аппаратно при включении питания). Там программа анализирует этот бит и работает по "холодному" старту, а затем устанавливает бит POR, чтобы все остальные рестарты были "теплые". Корректно ли так делать, или есть какие-то подводные камни? Наверно так будет не совсем корректно. Посмотрите на таблицу состояния регистров после сброса. В Вашем случае это выполнено не будет. Если есть свободная нога то ее завести на сброс. После сброса порт будет в третьем состоянии, вывод инициализируем 1 и вперед. Резистор ом так 300 не забыть.
Сообщение отредактировал DL36 - Jan 11 2007, 11:48
|
|
|
|
Guest_@Ark_*
|
Jan 14 2007, 15:58
|
Guests

|
Цитата(DL36 @ Jan 11 2007, 11:45)  Наверно так будет не совсем корректно. Посмотрите на таблицу состояния регистров после сброса. В Вашем случае это выполнено не будет. Если есть свободная нога то ее завести на сброс. После сброса порт будет в третьем состоянии, вывод инициализируем 1 и вперед. Резистор ом так 300 не забыть. Хороший способ. Только внутрисхемное программирование становится невозможным. На сброс (MCLR) при этом подается 13В и на вход, соединенный с ним - тоже, что недопустимо! Нужно предусмотреть "развязку".
|
|
|
|
|
Jan 14 2007, 18:43
|
Местный
  
Группа: Свой
Сообщений: 460
Регистрация: 5-10-06
Из: Херсон
Пользователь №: 21 006

|
Цитата(@Ark @ Jan 14 2007, 16:58)  Хороший способ. Только внутрисхемное программирование становится невозможным. На сброс (MCLR) при этом подается 13В и на вход, соединенный с ним - тоже, что недопустимо! Нужно предусмотреть "развязку". Да для развязки транзистор прийдется поставить. Хотя автор молчит наверно это ему уже неинтересно.
|
|
|
|
|
Jan 15 2007, 00:34
|

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

|
Цитата Хотя автор молчит наверно это ему уже неинтересно. Всем спасибо. Автор не молчит, у него был день рожденья, который на некоторое время выбил его из колеи праведной жизни Исследования показали, что вобщем все работает нормально (т.е. устанавливать POR в "0" программно можно), это позволит на начальном участке программы опознать старт как холодный. При этом действительно, надо, кроме всего прочего, отследить правильный сброс всех используемых регистров аппаратуры, т.к. реального аппаратного сброса не происходит, поэтому придется все это проделать программно. В моем случае это можно сделать, но, возможно, существуют ситуации, когда такое не пройдет. Тогда, видимо, придется воспользоваться вышеприведенными советами. В любом случае спасибо все неравнодушным
--------------------
"Регистрируй, наблюдай, экономь микросекунду, зря вопрос не задавай, не запоминай ерунду" (с) не помню, чье
|
|
|
|
Сообщений в этой теме
ttron Вопрос про искусственный холодный старт Jan 10 2007, 17:28 xemul Цитата(ttron @ Jan 10 2007, 17:28) Нужно ... Jan 11 2007, 16:19 rezident Может я не совсем в тему, но вроде как "холод... Jan 15 2007, 00:47 @Ark Цитата(rezident @ Jan 15 2007, 00:47) Мож... Jan 15 2007, 02:15  DL36 Цитата(@Ark @ Jan 15 2007, 03:15) Будем г... Jan 15 2007, 09:15  ttron Цитата(@Ark @ Jan 15 2007, 02:15) Цитата(... Jan 15 2007, 10:33
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|