Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 15 lis 2024, o 23:36


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 
Autor Wiadomość
PostNapisane: 13 lis 2013, o 11:35 
Offline
Użytkownik

Dołączył(a): 23 lip 2013
Posty: 83
Pomógł: 0

Hej!
Tym razem mam miernik refleksu, który został maksymalnie uproszczony, wszystko dzieje się na uruchomionym jednym timerze 16-bitowym . Poniżej wklejam kod.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Pojedynczy pomiar realizowany przez przycisk KEY1 oraz przerwanie zewnętrzne ISR(INT0_vect) działa dobrze, wyświetla rezultat między 150, a 250 ms, co jest poprawnym wynikiem. Niepoprawnie działa pomiar 5-krotny realizowany przez KEY3 oraz to samo przerwanie ISR(INT0_vect). Wyświetla co najmniej dziwne wyniki, potrafiące osiągać tysiące. Podejrzewam, że być może jest jakiś problem w pętli KEY3, ewentualnie w którymś momencie coś nie jest zerowane. Jakby ktoś coś zauważył to proszę o pomoc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2013, o 09:32 
Offline
Użytkownik

Dołączył(a): 23 lip 2013
Posty: 83
Pomógł: 0

Pomyślałem i wydaje mi się, że problemem może być brak oczekiwania w pętli na przerwanie zewnętrzne. Czy jest takie polecenie w C, które wstrzyma kolejny krok pętli do otrzymania przerwania zewnętrznego? Nie wiem czy dobrze tłumaczę, ale tak najprościej mówiąc chodziłoby mi o _delays_ms(INT0);



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO