<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=1910&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-09-21T12:55:46+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=1910&amp;mode</id>
<entry>
<author><name><![CDATA[oreja]]></name></author>
<updated>2014-09-21T12:55:46+01:00</updated>
<published>2014-09-21T12:55:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1910&amp;p=96242#p96242</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1910&amp;p=96242#p96242"/>
<title type="html"><![CDATA[Re: USART RS232C flagi RXC,TXC i UDRE str. 258]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1910&amp;p=96242#p96242"><![CDATA[
Szczerze mówiąc rozumiem pytanie mg101, ale nie rozumiem odpowiedzi. Na przykład rezasurmar napisał odpowiedź tak jakby wysyłanie i nadawanie były odwrotnymi czynnościami a nie tą samą czynnością. Trudno mi to zrozumieć. Dlatego przyszedłem z własną odpowiedzią:<br /><br />Do wysyłania jak i do odbierania są używane dwa rejestry - UDT (USART Data Register) który jest dostępny pod adresem 0x2C oraz USART Shift Register (SR), który nie jest dostępny. Dane wysyłane są zawsze przenoszone z UDT to SR i wysyłane bit po bicie, a dane odbierane zawsze są bit po bicie do SR a następnie przenoszone do UDT. Oba rejestry są 8 bitowe. Można myśleć o SR i UDT jak o 2 bajtowej kolejce. <br /><br />Przy wysyłaniu:<br />UDRE sygnalizuje że UDR jest pusty<br />TXR sygnalizuje że SR i UDR są puste<br /><br />Przy odbieraniu:<br />RXC sygnalizuje że UDR nie jest pusty<br /><br />Przy wysyłaniu UDRE jest używany aby sprawidzić czy da się &quot;wepchnąć&quot; kolejny bajt do kolejki wysłania. <br /><br />TXR jest tylko używany przy wyłączaniu lub usypianiu mikrokontrolera aby sprawdzić czy cała kolejka wysyłania jest już pusta (czy wszystko zostało wysłane z SR), aby być pewnym że nie straci się danych czekających na wysłanie w SR.<br /><br />Wyobraźmy sobie analogiczną sytuacja przy odbieraniu - wyłączamy mikrokontroler gdy w SR znajdują się odebrane dane które jeszcze nie przeszły do UDR. Nie istnieje analogiczny bit do UDRE dla obierania więc nie mamy możliwości sprawdzić czy nie stracimy tego bajtu.  <br /><br />Jednak pomyślmy o tym z praktycznego punktu widzenia - wyłączamy mikrokontroler, gdy już nie spodziewamy się nadejścia ważnych danych - nie? Jest to mało ważna sytuacja dlatego konstruktorzy mikrokontrolerów nie wbudowali odpowiednika UDRE do odbioru.<br /><br />I to by było na tyle.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5895">oreja</a> — 21 wrz 2014, o 12:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2012-12-11T13:06:55+01:00</updated>
<published>2012-12-11T13:06:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1910&amp;p=20819#p20819</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1910&amp;p=20819#p20819"/>
<title type="html"><![CDATA[Re: USART RS232C flagi RXC,TXC i UDRE str. 258]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1910&amp;p=20819#p20819"><![CDATA[
Nooo no, chodziło mi o wytłumaczenie  samego sensu istnienia dwóch, bo, że jak by nie było to wiem, że by się dało <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez Gość — 11 gru 2012, o 13:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-12-11T13:02:54+01:00</updated>
<published>2012-12-11T13:02:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1910&amp;p=20818#p20818</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1910&amp;p=20818#p20818"/>
<title type="html"><![CDATA[Re: USART RS232C flagi RXC,TXC i UDRE str. 258]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1910&amp;p=20818#p20818"><![CDATA[
rezasurmar --&gt; ale spokojnie do oprogramowania samego RS232 starczyłoby tylko jedno przerwanie nadawcze <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> obojętnie które <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... <br /><br />jeśli byłoby tylko UDRE - to tak jak tutaj w książce działamy - jak bufor pusty to bziiiiium - jak mówisz i poszło <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />a gdyby było tylko TXC to wtedy musielibyśmy czekać na zakończenie nadawania i wtedy z kolei bziuuuum <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br /><br />ale weź teraz rozpatrz w jednym i w drugim przypadku jakbyś robił sterowanie kierunkiem przepływu - tzn też da radę - ale w takim przypadku gdy są dwa - jest zdecydowanie wygodniej.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 11 gru 2012, o 13:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2012-12-11T12:53:22+01:00</updated>
<published>2012-12-11T12:53:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1910&amp;p=20816#p20816</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1910&amp;p=20816#p20816"/>
<title type="html"><![CDATA[Re: USART RS232C flagi RXC,TXC i UDRE str. 258]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1910&amp;p=20816#p20816"><![CDATA[
Mnie to się tak roi w mojej tępej głowie, że do wysyłania po prostu potrzebujemy tylko jeden bo mamy bufor do którego wrzucamy daną i bziuuuu idzie on (dana) pusty bufor i znowu, dlatego starczy jedna informacja.<br /><br />A z nadawczym jest już więcej zachodu, bo po pierwsze musimy wiedzieć czy bufor już jest wstanie przyjąć kolejną daną, a po drugie przecież urządzenie na drugim końcu musi odebrać daną, więc nadawanie musi mieć jak by podwójne potwierdzenie, czy bufor jest już pusty i czy dana aby już na pewno została wysłana......<br />Nie wiem czy dobrze sobie to wyobrażam, ale tak mnie się zdaje.<p>Statystyki: Napisane przez Gość — 11 gru 2012, o 12:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-12-11T12:38:50+01:00</updated>
<published>2012-12-11T12:38:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1910&amp;p=20812#p20812</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1910&amp;p=20812#p20812"/>
<title type="html"><![CDATA[Re: USART RS232C flagi RXC,TXC i UDRE str. 258]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1910&amp;p=20812#p20812"><![CDATA[
<div class="quotetitle">mg101 napisał(a):</div><div class="quotecontent"><br />Zastanawiam się dlaczego o odbiorze bajtu świadczy w UCSRA tylko jedna flaga RXC (&quot; Receive Complete&quot;) zaś przy nadawaniu są  2 flagi TXC (&quot;Transmit Complet&quot;) i dodatkowo jeszcze UDRE (&quot;Data Register Empty&quot;)<br />Skąd ta asymetria?<br /></div><br /><br />Dlatego że przy odbieraniu wystarczy TYLKO jedna i już ..... wiąże się ta asymetria troszkę z faktem wspomagania sprzętowego na okoliczność chęci wykorzystania RS485 czyli gdy zachodzi konieczność sterowania linią kierunku przesyłu danych. Zobacz jak w przykładzie z książki - fajnie jest wykorzystane przerwanie &quot;Transmit Complete&quot; <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... właśnie do tego - nic dodać nic ująć jak się to przeanalizuje pod tym kątem. Mamy zapewnione sprzętowo poinformowanie nas o końcu nadawania pojedynczego bajtu, i linią kierunku przepływu danych możemy &quot;banglować&quot; przy wysyłaniu KAŻDEGO pojedynczego bajtu - czyli bardzo precyzyjnie.\<br /><br />Za to UDRE wykorzystujemy TYLKO do nadawania z bufora cyklicznego....<br /><br />to o to chodzi <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 11 gru 2012, o 12:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mg101]]></name></author>
<updated>2012-12-11T10:35:52+01:00</updated>
<published>2012-12-11T10:35:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1910&amp;p=20801#p20801</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1910&amp;p=20801#p20801"/>
<title type="html"><![CDATA[USART RS232C flagi RXC,TXC i UDRE str. 258]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1910&amp;p=20801#p20801"><![CDATA[
Zastanawiam się dlaczego o odbiorze bajtu świadczy w UCSRA tylko jedna flaga RXC (&quot; Receive Complete&quot;) zaś przy nadawaniu są  2 flagi TXC (&quot;Transmit Complet&quot;) i dodatkowo jeszcze UDRE (&quot;Data Register Empty&quot;)<br />Skąd ta asymetria?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=683">mg101</a> — 11 gru 2012, o 10:35</p><hr />
]]></content>
</entry>
</feed>