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



Teraz jest 14 mar 2025, o 14:19


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 10 kwi 2015, o 11:03 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 450
Pomógł: 3

Witam!
Bardzo proszę o pomoc w pokazaniu struktury najprostszego programu zawierającego wszystkie elementy konieczne do obsługi UART z przerwaniami. Zgłębiłem kilkakrotnie rozdział o UART z BB. Rozumiem ideę bufora cyklicznego i jego działanie. Rozumiem jak działają funkcje uart_getc() oraz uart_putc. Rozumiem jak wywoływane są przerwania i co robią (ISR(USART_RXC_vect) oraz ISR(USART_UDRE_vect)). Korzystam z biblioteki mkuart.h. Problem w ogarnięciu całości kompleksowo - struktura programu. Postanowiłem w pętli głównej programu włączać i wyłączać diodę LED. W międzyczasie nie przeszkadzając programowi głównemu wysyłać do terminala a i natychmiast odbierać [a]. Gdzie umieścić w/w funkcje, a gdzie przerwania. Jak to napisać.
Pozdrawiam serdecznie
avrfun



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 kwi 2015, o 12:05 
Offline
Moderator
Avatar użytkownika

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

Zajrzyj do rozdziału "Wstęp do systemów czasu rzeczywistego" i tam jest opisany taki wielozadaniowy program, w którym też masz pokazane jak na dłoni jak wśród tych wielu zadań posługiwać się i wysyłaniem i prostym odbieraniem bajtów, właśnie po to aby np z terminala sterować zapalaniem diody LED. Na prawdę spróbuj to poczytać i przyjrzeć się przykładowi a potem napisz czego nie rozumiesz.

_________________
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: 10 kwi 2015, o 12:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 450
Pomógł: 3

Bardzo dziękuję za podpowiedź. Do tego rozdziału rzeczywiście nie dotarłem - zaraz zaczynam! Problem mam w globalnym spojrzeniu na całość takiego programu. Myślę sobie tak:
1. Pętla główna main, a w niej:
a. inicjalizacja UART
b. odblokowanie przerwań
b. pętla while(1), a w niej obsługa diody LED_ON i LED_OF (i tak non-stop)
2. Chciałbym teraz z wykorzystaniem funkcji uart_putc wysyłać dowolny znak z klawiatury do terminala w PC np. znak a
3. Chciałby także odebrać go od razu w zmienionej postaci np. w nawiasie klamrowym np. [a]
W której części programu użyć tych funkcji i jak?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 kwi 2015, o 13:55 
Offline
Moderator
Avatar użytkownika

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

avrfun napisał(a):
W której części programu użyć tych funkcji i jak?

No przecież piszę - że w książce w tym rozdziale o jakim wspomniałem masz to opisane i pokazane na przykładzie

_________________
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  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 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