-
1. Data: 2011-04-08 12:12:54
Temat: USART w atmega - pytanie
Od: "4CX250" <taunusmtv@poćta.łonet.pl>
W dataschicie wyczytałem:
UDRE: USART Data Register Empty
TXC: USART Transmit Complete
oraz uchwyty przerwań
UDR Empty Handler
USART TX Complete Handler
Czym się tak naprawdę róznią?
Pierwsze przerwanie jest skutkiem bitu UDRE: USART Data Register Empty czyli
wtedy kiedy data register staje się pusty a drugie przerwanie to skutek
bitu TXC: USART Transmit Complete czyli gdy transmisja jest kompletna.
Mam rozumieć że pierwsze przerwanie UDRE wystąpi wczesniej niż przerwanie
TXC gdyż opróznienie bufora występuje wcześniej niż wysłanie kompletnej
ramki z bitem stopu i parzystości co ma miejsce w drugim przerwwaniu?
Czy jest jakieś uzasadnione za i przeciw w stosowaniu pierwszego lub
drugiego? Wydaje mi się że pierwszy przypadek daje nam ciut lepszą ciągłość
w wysyłaniu strumienia większej ilości bajtów.
???
Marek
-
2. Data: 2011-04-08 12:19:03
Temat: Re: USART w atmega - pytanie
Od: "AK" <_...@w...pl>
> drugiego? Wydaje mi się że pierwszy przypadek daje nam ciut lepszą
> ciągłość w wysyłaniu strumienia większej ilości bajtów.
Tak bo tam jest jednobajtowe fifo.
Pozdr
MiSter
-
3. Data: 2011-04-08 12:46:00
Temat: Re: USART w atmega - pytanie
Od: "J.F." <j...@p...onet.pl>
Użytkownik "4CX250" <taunusmtv@poćta.łonet.pl> napisał
>W dataschicie wyczytałem:
> UDRE: USART Data Register Empty
> TXC: USART Transmit Complete
>
> Czy jest jakieś uzasadnione za i przeciw w stosowaniu pierwszego
> lub drugiego? Wydaje mi się że pierwszy przypadek daje nam ciut
> lepszą ciągłość w wysyłaniu strumienia większej ilości bajtów.
Dokladnie o to chodzi - pierwsze stosujesz jesli chcesz wpisac
kolejny bajt, aby oczekiwal w gotowosci do wyslania,
drugie jak chcesz miec pewnosc ze wszystko wyslano, bo np trzeba
wylaczyc nadajnik RS485.
J.
-
4. Data: 2011-04-08 12:52:37
Temat: Re: USART w atmega - pytanie
Od: "4CX250" <taunusmtv@poćta.łonet.pl>
Użytkownik "AK" <_...@w...pl> napisał w wiadomości
news:4d9efd43$0$2498$65785112@news.neostrada.pl...
>> drugiego? Wydaje mi się że pierwszy przypadek daje nam ciut lepszą
>> ciągłość w wysyłaniu strumienia większej ilości bajtów.
>
> Tak bo tam jest jednobajtowe fifo.
No nie do końca FIFO gdyż FIFO z założenia jest ładowany i opróżniany
_szeregowo_ bit po bicie pierwszy wszedł pierwszy wyjdzie a tu w atmedze
wpis do tego rejestru nie jest szeregowy leczrównolegle 8 bitów a
oprózniany jest tylko szeregowo więc po prostu jest to zwykły rejestr
przesuwny.
Tak gwoli ścisłości.
Marek
-
5. Data: 2011-04-08 13:02:38
Temat: Re: USART w atmega - pytanie
Od: "Lelek@" <r...@i...iw>
"4CX250" <taunusmtv@poćta.łonet.pl> wrote in message
news:4d9f051d$0$2458$65785112@news.neostrada.pl...
> Użytkownik "AK" <_...@w...pl> napisał w wiadomości
> news:4d9efd43$0$2498$65785112@news.neostrada.pl...
>>> drugiego? Wydaje mi się że pierwszy przypadek daje nam ciut lepszą
>>> ciągłość w wysyłaniu strumienia większej ilości bajtów.
>>
>> Tak bo tam jest jednobajtowe fifo.
>
> No nie do końca FIFO gdyż FIFO z założenia jest ładowany i opróżniany
> _szeregowo_ bit po bicie pierwszy wszedł pierwszy wyjdzie a tu w atmedze
> wpis do tego rejestru nie jest szeregowy leczrównolegle 8 bitów a
> oprózniany jest tylko szeregowo więc po prostu jest to zwykły rejestr
> przesuwny.
> Tak gwoli ścisłości.
Gwoli ścisłości fifo może być równoległe, bajtowe.
-
6. Data: 2011-04-08 13:10:22
Temat: Re: USART w atmega - pytanie
Od: "4CX250" <taunusmtv@poćta.łonet.pl>
Użytkownik "Lelek@" <r...@i...iw> napisał w wiadomości
news:inn11b$8cu$1@opal.futuro.pl...
>
> "4CX250" <taunusmtv@poćta.łonet.pl> wrote in message
> news:4d9f051d$0$2458$65785112@news.neostrada.pl...
>> Użytkownik "AK" <_...@w...pl> napisał w wiadomości
>> news:4d9efd43$0$2498$65785112@news.neostrada.pl...
>>>> drugiego? Wydaje mi się że pierwszy przypadek daje nam ciut lepszą
>>>> ciągłość w wysyłaniu strumienia większej ilości bajtów.
>>>
>>> Tak bo tam jest jednobajtowe fifo.
>>
>> No nie do końca FIFO gdyż FIFO z założenia jest ładowany i opróżniany
>> _szeregowo_ bit po bicie pierwszy wszedł pierwszy wyjdzie a tu w atmedze
>> wpis do tego rejestru nie jest szeregowy leczrównolegle 8 bitów a
>> oprózniany jest tylko szeregowo więc po prostu jest to zwykły rejestr
>> przesuwny.
>> Tak gwoli ścisłości.
>
> Gwoli ścisłości fifo może być równoległe, bajtowe.
Piszesz zupełnie o czyms innym. Transmisja USART jest bitowa nie bajtowa i
rejestr jest bitowy a nie bajtowy.
Marek
-
7. Data: 2011-04-08 13:24:14
Temat: Re: USART w atmega - pytanie
Od: "Lelek@" <r...@i...iw>
"4CX250" <taunusmtv@poćta.łonet.pl> wrote in message
news:4d9f0945$0$2439$65785112@news.neostrada.pl...
> Piszesz zupełnie o czyms innym. Transmisja USART jest bitowa nie bajtowa i
> rejestr jest bitowy a nie bajtowy.
Jest 1 bajtowy rejestr a za nim dopiero SR opróżniany szeregowo i ten 1 bajt
to pseudo fifo.
Masz albo flagę że pusty SR albo że puste fifo w stronę Tx co oznacza, że
dane zostały przeładowane z rejestru do SR.
Kurde napisz sobie te kilka linijek assemblera i przećwicz na oscyloskopie
na wolnej prędkości uartu. Wystaw sobie sygnały od tych flag na nogach
portu.i patrz co się dzieje.
Zapisz raz dwa bajty w 2 kolejnych cyklach maszynowych i może pojmiesz o co
chodzi.
To fifo jest po to żebyś miał całe 9, 10 czy 11 bitów czasu na przeładowanie
nadajnika kolejnym bajtem, żeby nie robiły się dziury między bajtami.
-
8. Data: 2011-04-08 13:31:51
Temat: Re: USART w atmega - pytanie
Od: "4CX250" <taunusmtv@poćta.łonet.pl>
Użytkownik "Lelek@" <r...@i...iw> napisał w wiadomości
news:inn29r$b96$1@opal.futuro.pl...
>
> "4CX250" <taunusmtv@poćta.łonet.pl> wrote in message
> news:4d9f0945$0$2439$65785112@news.neostrada.pl...
>
>> Piszesz zupełnie o czyms innym. Transmisja USART jest bitowa nie bajtowa
>> i rejestr jest bitowy a nie bajtowy.
>
> Jest 1 bajtowy rejestr a za nim dopiero SR opróżniany szeregowo i ten 1
> bajt to pseudo fifo.
Ale zrozum człowieku że ty pisałeś o rejestrze bajtowym jako bajt za bajtem.
Palnąłeś o rejestrze fifo a to co jest w atmedze nie jest żadnym fifo. Nawet
nie pseudo fifo.
To jest zwykły rejestr przesuwny 8-bitowy z presetem równoległym.
Czy masz tam choćby jedno wejście bitowe szeregowe do niego za pomocą
którego bitu po bicie jesteś go w stanie całego załadować? No nie, więc o
czym ty piszesz?
Marek
-
9. Data: 2011-04-08 13:45:04
Temat: Re: USART w atmega - pytanie
Od: "Lelek@" <r...@i...iw>
"4CX250" <taunusmtv@poćta.łonet.pl> wrote in message
news:4d9f0e4e$0$2460$65785112@news.neostrada.pl...
> To jest zwykły rejestr przesuwny 8-bitowy z presetem równoległym.
Tam są 2 rejestry. Jeden jako poczekalnia, o którym mówimy fifo, a drugi
przesuwny ze skrajnym bitem wystawionym do pinu. Tam są 2 rejestry
mieszczące w sumie 2 bajty.
-
10. Data: 2011-04-08 13:53:29
Temat: Re: USART w atmega - pytanie
Od: Marcin <m...@o...pl>
>
> > Gwoli cis o ci fifo mo e by r wnoleg e, bajtowe.
>
> Piszesz zupe nie o czyms innym. Transmisja USART jest bitowa nie bajtowa i
> rejestr jest bitowy a nie bajtowy.
Ale sa _dwa_ rejestry bajtowe. Mmozna wpisac do wyslania dwa bajty,
nie czekajac na transmisje pierwszego.
Inne uP ( np ADuC7026 maja 3 najtowa kolejke FIFO)
Marcin