Сообщение от Easyrider83
|
|
PIC10 в помощь
|
Если бы мне лично пришлось решать задачу, которую поставил ТС, то именно это решение я бы и выбрал. Маленькая шестиногая букашечка, на плате места не занимает, а ума - как у настоящего проца!
Да, зависнуть может любой процессор. И тот, который в спячке, дожидается нажатия кнопки, может ее вообще не дождаться, если у него помехой сбило конфигурационные регистры. Поэтому PIC10 лучше вообще в спячку не посылать. Написать маленькую прогу:
1. Инициализация регистров и портов
2. Опрос кнопку "Сброс".
3. Не нажата - обход на п.16.
4. Нажата - установить счетчик циклов на 10 секунд
5. Инициализация портов
6. Кнопка все еще нажата?
7. отпущена (хозяин передумал

) - обход на п.16.
8. Нажата, декремент счетчика времени
9. Время 10 секунд истекло?
10. нет - возврат на п.5.
11. Истекло - выдать сигнал сброса на проц
12. Инициализация портов
13. Кнопка еще нажата?
14. Да, возврат на п.12.
15. Отпущена, убрать сигнал сброса, вернуться на п.1.
16.
А вот тут один нюанс. В таких случаях я обычно вообще ничего не пишу дальше. Оставляю FF до конца памяти. И все. И прога крутится по кругу, и у нее нет никаких шансов зависнуть - ведь негде ей бесконечно зациклиться!
Иногда, если нужна быстрая реакция, чтобы проц не ходил по кругу впустую, заполняю всю память блоками п.1. - п.16. до конца. Тогда опрос происходит чаще.