rustom
|
|
1 | |
PCF8583 не срабатывает будильник01.02.2012, 22:05. Показов 2866. Ответов 1
Метки нет (Все метки)
Пытаюсь сделать будильник для микроконтроллера на основе часов реального времени PCF8583, программирую на PIC. Собрал тестовую плату с PIC-ом и дисплеем LCD Nokyo3310, написал код, где считываю часы, минуты, секунды и вывожу на дисплей каждые 250мс, все нормально работает, часы идут.
Теперь захотел протестировать будильник, дописал код, чтобы будильник срабатывал через каждые 2 минуты. В момент включения время у часов сбрасывается на 00:00:00 и начинается собственно ход, я считываю минуты прибавляю к ним 2, и обратно записываю в регистры будильника, то есть будильник должен сработать в 00:02:00. При срабатывании зажигается светодиод, и опять все повторяется, теперь будильник должен сработать при 00:04:00 ит.д. Но будильник почему то не срабатывает. Подскажите в чем дело.... Итак вот что я делаю после подачи питания: 1. записываю 00000100 в регистр управления/состояния по адресу 0x00, тем самым включаю бит разрешения сигнала. 2. Записываю 10010000 в регистр управления сигналом по адресу 0x08, тем самым разрешаю прерывание по сигналу, а также устанавливаю ежедневный сигнал. 3. Записываю нули в регистры будильника по адресам 0х0А, 0х0В, 0х0С, которые соответствуют секундам, минутам, часам. 4. Считываю текущее значение минут по адресу 0x03, прибавляю к этому значению число 2. 5. Получившиеся число записываю в регистр будильника(минуты) по адресу 0х0В. 6. Жду пока сработает будильник, (он должен сработать в 00:02:00), параллельно этому считываю время - часы, минуты, секунды, а также на всякий случай считываю содержимое регистра управления/состояния, регистра сигналов, и 3 регистра будильника (часы, минуты, секунды), и вывожу все это на дисплей. И так наблюдаю, все записалось правильно, во всех регистрах то что мне нужно, жду жду и вот наступает время 00:02:00, но ничего не происходит, светодиод не включается, в регистре управления/состояния флаги не поднимаются, в общем будильник не срабатывает.... |
01.02.2012, 22:05 | |
Ответы с готовыми решениями:
1
Не срабатывает будильник не срабатывает будильник при заблокированном экране Не срабатывает будильник при заблокированном экране Срабатывает будильник, которого нет на айфон 12 про |
rustom
|
|
02.02.2012, 17:27 | 2 |
Я разобрался, надо было еще обнулять регистр будильника отвечающий за миллисекунды по адресу 0x09, а я обнулял только секунды, минуты, часы. Скорее всего в этом регистре лежал какой то мусор, который никогда не совпадал с реальными значениями миллисекунд регистра часов, поэтому и не срабатывал будильник.
|
02.02.2012, 17:27 | |
02.02.2012, 17:27 | |
Помогаю со студенческими работами здесь
2
Как добавить мелодию по выбору в будильник, когда он срабатывает? После перезагрузки устройства будильник срабатывает позже заданного времени Почему срабатывает только один будильник, любой из трёх но один? Нужно, чтобы все работали PCF8583 Создать будильник или "завести" системный будильник PCF8583 не тикает Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |