Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
09.11.2007, 13:10
|
#11
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Есть подозрение, что подтягивающие резисторы на ногах пика отсутствуют. Если так, то на висящих в воздухе входах мелкоконтроллера наводится, всё, чему не лень, а он думает, что его просят проснуться. Причём, необходимо помнить, что он будет просыпаться даже если прерывания запрещены. Проверь пуллапы.
P.S. А вообще, если в симуляторе всё работает - может тогда делать всё в симуляторе? Зачем париться-то?
|
|
|
|
09.11.2007, 13:13
|
#12
|
Временная регистрация
Регистрация: 19.06.2007
Сообщений: 85
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Я же говорю "в программе для контроля предусмотрен внешний сигнал на RB6 после пробуждения"
Фактически к схеме подключено два светодиода: на RB7 (тот что на схеме в самом начале темы) и на RB6 (его я вчера вечером подключил для контроля).
Что касается времени - то оно равно времени задержки после срабатывания кнопки, а именно 1 сек.
Последовательность работы в железе:
1. Подаем питание.
2. Включается св.диод на RB7.
3. Нажимаем-отпускаем кнопку.
4. Выключается св.диод на RB7.
Здесь контроллер должен спать,
а точнее пробуждаться по нажатию кнопки.
5. Тишина длительностью 1 сек.
6. Включается св.диод на RB6 на 1 сек и выключается.
7. Включается св.диод на RB7.
ну и далее в цикле к п.3
Прикладываю hex
Прикрепленный файл: 6952022.zip
|
|
|
|
09.11.2007, 13:22
|
#13
|
Временная регистрация
Регистрация: 19.06.2007
Сообщений: 85
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Уважаемый tempora, уточните какие ноги нужно подтянуть резисторами.
Согл документации выход из сна может возникнуть по прерываниям в трех случаях:
1. Переполнение WDT (у нас таймер отключен).
2. Изменение уровней сигнала на ногах RB4:RB7 (на моем макете они через резисторы последовательно со светодиодами на минусовую линию подключены).
3. По прервынию на RB0/INT (у меня подключена кнопка и для "убедительности" ножка подтянута внешним резистором 10К к плюсу).
Вроде всё предусмотренно.
|
|
|
|
09.11.2007, 13:39
|
#14
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
Не вижу криминала. Должно работать. Вечером зашью и сообщу завтра.
Хотя - прямо сейчас - смотрим - питание, кварц, монтаж...
Возможны наводки на ножки кварца, когда он находится в слипе и принудительное выполнение следующей команды.
|
|
|
|
09.11.2007, 13:40
|
#15
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Сообщение от tnosov
|
... RB4:RB7 (на моем макете они через резисторы последовательно со светодиодами на минусовую линию подключены).
... RB0/INT (у меня подключена кнопка и для "убедительности" ножка подтянута внешним резистором 10К к плюсу). Вроде всё предусмотренно.
|
На схеме, помещенной на первой странице, ничего этого не было - там только RB7 притянута к земле, а все остальные выводы болтаются "в чём мать родила", поэтому я и сделал своё предположение. Мысль простая - из слипа м/к выходит по прерыванию, значит нужно искать прерывание... ага?
|
|
|
|
09.11.2007, 14:13
|
#16
|
Временная регистрация
Регистрация: 19.06.2007
Сообщений: 85
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
дорогой tempora
Согл. документации я выше перечислил конкретные прерывания для выхода из сна. Необходимые условия выполнены.
Вот urry молодец, мысль то правильную говорит, на уровне физиологии о "возможности наводки на ножки кварца". Как бороться?
Привожу вариант моего учебного макета (фото + печать) - это я к вопросу наводок. По порту RB0 отпаяно сопротивление (на обороте подтянуто к плюсу) и ножка пинцетом (вместо кнопки) коротится на минусовой разъем.
-- Прилагается рисунок: --
|
|
|
|
09.11.2007, 14:17
|
#17
|
Частый гость
Регистрация: 04.10.2007
Сообщений: 15
Сказал спасибо: 5
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Выход из SLEEP
Необходимо посмотреть на установленый режим входа в прерывание:
по положительному (возрастающему) фронту,
по отрицательному фронту.
Прерывания по изменению состояния входа
корректно работают при установленном PULLUP
|
|
|
|
09.11.2007, 14:20
|
#18
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
Где резистор к +5 от мастерклира ??? Почему он идет на + ?
|
|
|
|
09.11.2007, 14:25
|
#19
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Сообщение от tnosov
|
дорогой tempora
Согл. документации я выше перечислил ...
|
Ув. т.Носов, я высказал своё предположение на основании той информации, которая была доступна на момент прочтения мной вопроса, то есть до размещения ответа на моё предположение, так как телепатическими способностями не обладаю.
Сообщение от tnosov
|
Вот urry молодец, ...
|
Ну и слава богу, вот он и расскажет о том, как подключается земля у кварца...
|
|
|
|
09.11.2007, 14:28
|
#20
|
Временная регистрация
Регистрация: 19.06.2007
Сообщений: 85
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Выход из SLEEP
Сообщение от P_ip
|
Необходимо посмотреть на установленый режим входа в прерывание:
по положительному (возрастающему) фронту,
по отрицательному фронту.
Прерывания по изменению состояния входа
корректно работают при установленном PULLUP
|
В тексте программы прописано по спадающему фронту.
"при установленном PULLUP" - скажи по-русски, что ты под этим понимаешь?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 23:33.
|
|