-
Data: 2011-02-10 15:16:29
Temat: Re: AVR ATmega, pomiar częstotliwości przebiegu, prośba o sprawdzenie kodu
Od: Zbych <a...@o...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2011-02-10 16:09, Robbo pisze:
> cli();
> actualDurationLatch = actualDuration;
> sei();
> Chciałem zapytać
> 1. Czy kod jest poprawny, a jeśli nie, to co poprawić?
Nie używaj cli i sei do robienia sekcji atomowych, te makra nie są
zabezpieczone przed optymalizacją i kompilator może zmienić kolejność
instrukcji (choć oczywiście nie musi). Zamiast tego posłuż się
ATOMIC_BLOCK
http://www.nongnu.org/avr-libc/user-manual/group__ut
il__atomic.html
> 2. Jak poradzić sobie teraz z "odcinaniem" dla częstotliwości mniejszej
> niż 2Hz?
> Poniżej 2Hz licznik się przekręci i wskazany czas nie będzie poprawny;
> może być też sytuacja, gdy sygnał zaniknie (częstotliwość 0Hz). Muszę
> mieć o tym informację.
Albo zmniejsz taktowanie timera, albo wykorzystaj przerwanie od
przepełnienia do "dorobienia" trzeciego bajtu do licznika.
Następne wpisy z tego wątku
- 10.02.11 15:27 Robbo
- 10.02.11 15:46 Zbych
- 10.02.11 16:00 Michoo
- 10.02.11 18:15 Robbo
- 10.02.11 18:35 Zbych
- 10.02.11 18:56 Zbych
- 10.02.11 20:56 Robbo
- 10.02.11 21:31 Michoo
- 11.02.11 07:36 Zbych
- 11.02.11 11:05 Robbo
- 11.02.11 11:43 Michoo
- 11.02.11 12:15 Zbych
- 11.02.11 12:22 Robbo
- 11.02.11 12:24 Zbych
- 11.02.11 12:33 Zbych
Najnowsze wątki z tej grupy
- Thunderbird i dysk...
- opornosc falowa
- Bateria 9V 6F22, alkaliczna v cynkowa, samorozładowanie, bateria wysokiej trwałości do miernika
- Tani zakup z ali?
- w czasach LED komary mają ciężko
- walizka z kodami
- Rejestrator temperatur - termopara, siec
- Router LTE z możliwością zmian MTU
- Fajny film widziałem...
- Jaka ładowarka sieciowa do Iphona?
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
Najnowsze wątki
- 2025-07-23 Gdańsk => Programista Delphi <=
- 2025-07-23 Gdańsk => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-23 Warszawa => Starszy inżynier DevOps (AWS) <=
- 2025-07-23 Gdańsk => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-23 Kraków => Senior Fullstack Engineer (Low-Code Platform) <=
- 2025-07-23 Wrocław => Senior Key Account Manager IT <=
- 2025-07-23 Trójmiasto => Head of Social Media <=
- 2025-07-23 Rzeszów => Spedytor Międzynarodowy <=
- 2025-07-23 Lublin => ERP Implementation Consultant (AP Module) <=
- 2025-07-23 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-07-23 Warszawa => Inżynier oprogramowania .Net <=
- 2025-07-23 Kraków => Kotlin Developer <=
- 2025-07-23 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-07-23 Warszawa => Java Developer <=
- 2025-07-23 Wrocław => Konsultant wdrożeniowy (systemy controlingowe) <=