Arduino Polska Forum

Pełna wersja: arduino uno problem z low power
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witajcie
Mam problem z biblioteką (?)  "LowPower.h" https://github.com/rocketscream/Low-Power.
układ wygląda następującą płytka arduino uno + ds1307 który generuje przerwanie z częstotliwością 1Hz i to działa.
monitor portów szeregowego wyświetla  "Ni" po zresetowaniu modułu monitor portu szeregowego dopisuje ciągle kolejne "Ni" nie generując nowej daty "16:38:50.539 -> ⸮⸮NiNiNiNiNiNiNiNiNiNi"
Kod:
void loop(){

wyswietlenie();
b++;
attachInterrupt(0, budzenie, LOW);            //jeżeli na pinie 2 pojawi się stan niski to wybudź ATMegę
                                                   //i przenieś do klasy budzenie
Serial.println("spanie1 ;)");

   LowPower.powerDown(SLEEP_FOREVER, ADC_ON, BOD_ON); 
                                                  //wybieramy tryb Power-down i ustawiamy żeby ATMega spała
Serial.println("spanie2 ;)");                    //cały czas spała przy wyłączonom ADC i BoD do momentu wystąpienia
detachInterrupt(0);   



void budzenie()
Kod:
{
Kod:
      detachInterrupt(0);                         //ustawiamy debounce pinu 2, żeby układu nie "wybudził się" dwa razy
Kod:
  Serial.println("Nie spie 1;)");
Kod:
loop();
Kod:
 
Kod:
}
Wysłanie czegoś na UART trwa, daj mu czas. Komenda Serial.print() tylko przepisuje coś tam do bufora, z bufora przerwanie przepisuje na rejestr, w rejestrze siedzi krasnolud telegrafista i stuka w odpowiednim rytmie tekst na linie TX.
to rozumiem ale po uśpieniu przerwanie nie budzi go, a przerwanie jest generowane z ds1307
To pokaż kod, myślałem, że coś urywa przy wydruku, czyli zaraz po wywołaniu print przechodzi w kolejny sleep. Masz dwa loop w kodzie?