port szeregowy w '51 - programowanie z poziomu C
From: "Krzysztof" <krysss1981_at_nospam_poczta.onet.pl>
Subject: port szeregowy w '51 - programowanie z poziomu C
Date: Tue, 15 Feb 2005 22:38:19 +0100
Witam!
Szukam informacji na temat programowania UART'u z poziomu C.
Z góry dzięki
From: Marcin Stanisz <mstanisz_at_nospam_bzdury.poczta.onet.pl>
Subject: Re: port szeregowy w '51 - programowanie z poziomu C
Date: Tue, 15 Feb 2005 22:56:48 +0100
On Tue, 15 Feb 2005 22:38:19 +0100, Krzysztof wrote:
Szukam informacji na temat programowania UART'u z poziomu C.
Co to jest - konkurs na najlepszą wróżkę? Ja mam się domyślić,
gdzie ten UART siedzi?
--
Marcin Stanisz
"A lie will go round the world before the truth has got its boots on"
Terry Pratchett, "Truth"
From: "Marek Dzwonnik" <mdz_at_nospam_WIADOMO_PO_CO_TO.message.pl>
Subject: Re: port szeregowy w '51 - programowanie z poziomu C
Date: Tue, 15 Feb 2005 23:00:48 +0100
Użytkownik "Marcin Stanisz" <mstanisz_at_nospam_bzdury.poczta.onet.pl> napisał w
wiadomości news:pan.2005.02.15.21.56.48.570464_at_nospam_bzdury.poczta.onet.pl
On Tue, 15 Feb 2005 22:38:19 +0100, Krzysztof wrote:
Szukam informacji na temat programowania UART'u z poziomu C.
Co to jest - konkurs na najlepszą wróżkę? Ja mam się domyślić,
gdzie ten UART siedzi?
Cóż to Marcinie... Twoja szklana kula nie czyta pola Subject: ? ;-)))
Obsługa UARTu '51 w C nie różni się od obsługi innych peryferiów. Z poziomu
C musisz umieć zapisać/odczytać rejestry SFR i ew. napisać procedurę obsługi
przerwania. Resztę znajdziesz w dokumentacji konkretnego uC.
--
Marek Dzwonnik, GG: #2061027 - zwykle jako 'niewidoczny'
(Uwaga Gadu-Gadulcowicze: Nie odpowiadam na anonimy.)
From: Marcin Stanisz <mstanisz_at_nospam_bzdury.poczta.onet.pl>
Subject: Re: port szeregowy w '51 - programowanie z poziomu C
Date: Wed, 16 Feb 2005 00:45:58 +0100
On Tue, 15 Feb 2005 23:00:48 +0100, Marek Dzwonnik wrote:
Cóż to Marcinie... Twoja szklana kula nie czyta pola Subject: ? ;-)))
Mamma mia - cancel poszedł, autora przepraszam, Markowi dziękuję.
--
Marcin Stanisz
"A lie will go round the world before the truth has got its boots on"
Terry Pratchett, "Truth"
From: "Krzysztof" <krysss1981_at_nospam_poczta.onet.pl>
Subject: Re: port szeregowy w '51 - programowanie z poziomu C
Date: Wed, 16 Feb 2005 14:06:30 +0100
Mam za swoje!
Nie chce mi się nawet pytania konkretnego ułożyć a oczekuję odpowiedzi.
Problem mój tkwi w taktowaniu układu UART licznikiem T1, jaką wartość
powinienem
wpisać do rejestru TH1 aby uzyskać transmisję 9600 bodów przy zegarze
11,0592 MHz??
No i jaki tryb UART wybrać ?? (SM0, SM1)
Z góry dziękuję za odpowiedź
Pozdrawiam
From: "Marek Dzwonnik" <mdz_at_nospam_WIADOMO_PO_CO_TO.message.pl>
Subject: Re: port szeregowy w '51 - programowanie z poziomu C
Date: Wed, 16 Feb 2005 15:05:32 +0100
Użytkownik "Krzysztof" <krysss1981_at_nospam_poczta.onet.pl> napisał w wiadomości
news:cuvgcl$nrf$1_at_nospam_inews.gazeta.pl
Problem mój tkwi w taktowaniu układu UART licznikiem T1,
jaką wartość powinienem
wpisać do rejestru TH1 aby uzyskać transmisję 9600 bodów przy zegarze
11,0592 MHz??
No i jaki tryb UART wybrać ?? (SM0, SM1)
Wg. A.Rydzewskiego:
Timer1:
C/T\ = 0 - taktowanie z f_xtal/12
Mode2: M1=1; M0=0 // licznik 8bit, autoreload z TH1
TH1 = 0xFD; // podział na liczniku f_ot1 = f_t1 / 3
UART:
Mode1: SM0=0; SM1=1; // transmisja szeregowa async. znaki 8-bit, BR
określony programowo
SMOD = 0; // f_br = f_ot1 / 32 (tzn. włączony dodatkowy podział
przez 2)
f_xtal = 11.0592
f_t1 = f_xtal/12 = 921.6kHz
f_ot1 = 307.2kHz
f_br = f_ot1 / 32 = 9600
c.n.d.
--
Marek Dzwonnik, GG: #2061027 - zwykle jako 'niewidoczny'
(Uwaga Gadu-Gadulcowicze: Nie odpowiadam na anonimy.)