logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Atmega32 - Jak wybudzić z POWERSAVE bez dodatkowych przerwań?

inspector_electro 05 Lut 2014 13:35 1080 2
REKLAMA
  • #1 13264465
    inspector_electro
    Poziom 22  
    Witam forumowiczów.

    Siedzę od jakiegoś czasu przy zegarze PCF8583 i VFD CU20029SCPB-25A.
    Napisałem do niego obsługę 2 termometrów na DS18B20 i pilota RC5.
    Wszystko działa poza, wybudzeniem procesora z POWERSAVE.
    Nie mogę sobie z tym poradzić. Nie mogę znaleźć konkretnego przykładu.
    Po naciśnięciu przycisku na pilocie ma się uśpić Atmega, i tak robi. Nie mogę później za chiny jej obudzić. Ten podprogramik działa w pętli Do-Loop. Pokażę kawałek kodu jak próbuję to zrobić:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Chodzi o to, że chcę uniknąć angażowania kolejnych przerwań w programie głównym,
    ponieważ źle mi chodzi zegar(sekundy).

    Czy może ktoś mądrzejszy podpowiedzieć?
  • REKLAMA
  • #2 13264564
    Electro_FOX
    Poziom 12  
    Jeśli rejestr SM[2:0] ustawiłeś na 0x3 to możesz uKontroler wybudzić zgodnie z notą (na twoją uwagę zasługują warunki dla jakich owe wybudzenie ma nastąpić):
    Atmega32 - Jak wybudzić z POWERSAVE bez dodatkowych przerwań?
  • #3 13264710
    inspector_electro
    Poziom 22  
    Ściągnąłem polskiego pdf-a do atmegi. Za pioruna nie mogę pojąć jak poustawiać to w programie. Wyobrażam to sobie tak:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Port D2 jest jako input. Czy przerwanie na Pinie2 ma wychwycić stan niski z odbiornika IR??
    Kompletnie nie mogę zrozumieć tych przerwań.

    Zrobiłem coś takiego, ale tylko wyłącza. Wzbudzić już nie idzie:

    Kod: text
    Zaloguj się, aby zobaczyć kod
REKLAMA