Pytania otagowane jako timers

3
Używanie millis () i micros () w procedurze przerwań
Dokumentacja attachInterrupt()mówi: ... millis()liczy się przerwanie, więc nigdy nie zwiększy się w ISR. Ponieważ delay()wymaga przerwania do pracy, nie zadziała, jeśli zostanie wywołany wewnątrz ISR. micros()działa początkowo, ale zacznie zachowywać się nieregularnie po 1-2 ms. ... Czym się micros()różni millis()(z wyjątkiem oczywiście ich precyzji)? Czy powyższe ostrzeżenie oznacza, że ​​korzystanie …

2
Czy przypisania wskaźników funkcji są atomowe w Arduino?
Poniższe fragmenty kodu źródłowego biblioteki TimerOne : // TimerOne.h: void (*isrCallback)(); // TimerOne.cpp: ISR(TIMER1_OVF_vect) // interrupt service routine that wraps a user defined function supplied by attachInterrupt { Timer1.isrCallback(); } // TimerOne.cpp: void TimerOne::attachInterrupt(void (*isr)(), long microseconds) { if(microseconds > 0) setPeriod(microseconds); isrCallback = isr; // register the user's callback …

1
Ustawienie timera 3 w trybie CTC - konflikt z biblioteką serw
Chciałbym ustawić timer, aby wywoływał funkcję 800 razy na sekundę. Używam Arduino Mega i Timera 3 z preskalerem 1024. Aby wybrać współczynnik preskalera, wziąłem pod uwagę następujące kroki: Częstotliwość procesora: 16 MHz Rozdzielczość timera: 65536 (16 bitów) Podzielić przez procesor przenoszenia wybranego dzielnikiem: 16x10 d6 / 1024 = 15625 Podziel …


4
Włącz Arduino z zegarem co 24 godziny
Obecnie pracuję nad projektem Arduino, który wysyła mi ładowanie akumulatora samochodowego raz dziennie za pośrednictwem ESP8266. Zimą nie prowadzę samochodu i chciałbym zostać poinformowany, gdy akumulator spadnie powyżej wartości krytycznej, aby móc go naładować i zapobiec uszkodzeniom. Dlatego efektywność energetyczna jest ważna dla projektu, dlatego nie rozładowuje samego akumulatora. Dużo …
9 power  timers  relay 

6
Czy możliwe jest bardzo duże opóźnienie ()?
Staram się otwierać i zamykać małe drzwi, które powinny się otwierać lub zamykać co 12 godzin. Zastanawiałem się, czy mógłbym po prostu zrobić mały skrypt z zapętleniem z opóźnieniem () na 12 godzin, opóźnienie (43 200 000 000); Zgaduję? Nie mam jednak pojęcia, czy jest to możliwe i / lub …

1
Czy zmienność jest potrzebna, gdy zmienna jest dostępna z> 1 ISR, ale nie jest dzielona poza ISR?
Jest wyraźnie udokumentowane, że gdy dane globalne są udostępniane ISR i programowi głównemu, dane muszą zostać zadeklarowane volatilew celu zagwarantowania widoczności pamięci (i to wystarcza tylko dla danych 1-bajtowych; cokolwiek większego wymaga specjalnych ustaleń, aby zagwarantować również atomowość) . Tutaj mamy dobre zasady: Zmienne używane tylko poza ISR nie powinny …
9 interrupt  timers  isr 


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.