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



Teraz jest 8 kwi 2026, o 03:59


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 27 kwi 2014, o 12:09 
Offline
Użytkownik

Dołączył(a): 15 lis 2013
Posty: 36
Lokalizacja: Mochy k/Wolsztyna
Pomógł: 0

Witam
Mecze sie z timerem0 w tym mikrokontrolerze. Taktowanie 16Mhz.Chce odmierzyc czas 1 s po czym następuje przerwanie.Z niewiadomych mi przyczyn timer0 rozjeżdża sie w czasie i to sporo na 1 minucie jest to aż 10s zaa mało. Natomiast timer1 idealnie odmierza czas, oto kawalek kodu:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Prosze o pomoc.W kodzie podaje tylko ustawienia timerow iich przerwania.
Pozdrawiam



Ostatnio edytowano 27 kwi 2014, o 12:21 przez cybertom, łącznie edytowano 3 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 kwi 2014, o 12:15 
Offline
Użytkownik

Dołączył(a): 25 sty 2014
Posty: 185
Lokalizacja: Działoszyn
Zbananowany użytkownik

Pomógł: 8

Cytuj:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



wywal uart_puts bo mozliwe ze wysylanie przez uart rozwala ci czasy
zamiast tego zastosuj mechanizm timerów programowych i wywoluj uart_puts w petli while
przerwania umieszczasz wewnątrz funkcji main ?

podaj jak wygląda kompletna funkcja main w twoim programie.



Ostatnio edytowano 27 kwi 2014, o 12:22 przez karolek, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 kwi 2014, o 12:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2013
Posty: 1154
Lokalizacja: Lublin / Kraków
Pomógł: 72

Jakie jest taktowanie i czym?
Timer0 jest 8-bitowy może mieć pewne odchylenie.

Procedura uart_puts w przerwaniu to nie jest dobry pomysł, szczególnie przy 2 przerwaniach.
Mogą być opóźnienia.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 kwi 2014, o 12:20 
Offline
Użytkownik

Dołączył(a): 15 lis 2013
Posty: 36
Lokalizacja: Mochy k/Wolsztyna
Pomógł: 0

Witam
uart_puts wstawilem tylko kontrolnie zeby widzie czy nastepuje przerwanie. Taktowanie zewnetrzny rezonator 16Mhz. W funkkcji main narazie nic nie ma.
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 kwi 2014, o 12:26 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

cybertom napisał(a):
uart_puts wstawilem tylko kontrolnie zeby widzie czy nastepuje przerwanie


Panie .... uart_puts() trwa długo ... nawet bardzo długo ... skąd w ogóle taki pomysł ?

czy wstawienie diody LED żeby migała np:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


nie dałoby ci tego samego efektu - tzn jeśli chodzi o sprawdzenie ?

toż "rozjeżdżasz jak walcem drogowym" procedurę przerwania, rozklepując ją jak naleśnik w czasie, i dziwisz się że coś jest nie tak ?

NAWET gdybyś chciał użyć rs232 do debugowania to co za problem ustawić w przerwaniu FLAGĘ w miejscu gdzie teraz robisz wysyłanie a w pętli głównej ją sprawdzać i wtedy wysyłać coś do terminala?

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 kwi 2014, o 12:27 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2013
Posty: 1154
Lokalizacja: Lublin / Kraków
Pomógł: 72

Przy ustawieniu licznika TCNT0=uzyskujesz przerwanie z częstotliwością około 125 Hz czyli około raz na 8 ms.
Czy taki był Twój zamiar ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 kwi 2014, o 12:38 
Offline
Użytkownik

Dołączył(a): 15 lis 2013
Posty: 36
Lokalizacja: Mochy k/Wolsztyna
Pomógł: 0

Dziekuje bardzo za pomoc. Rzeczywiscie uart_puts byl winny. :) Teraz wszystko gra. Ciagle sie ucze :)
Pozdrawiam Wszystkich.



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: 7 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 8 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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO