<?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=15333&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-05-09T20:23:19+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=15333&amp;mode</id>
<entry>
<author><name><![CDATA[pabianice2]]></name></author>
<updated>2016-05-09T20:23:19+01:00</updated>
<published>2016-05-09T20:23:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160312#p160312</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160312#p160312"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie biblioteki UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160312#p160312"><![CDATA[
Dziękuję. To wszystko wyjaśnia.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11912">pabianice2</a> — 9 maja 2016, o 20:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-05-09T20:18:30+01:00</updated>
<published>2016-05-09T20:18:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160311#p160311</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160311#p160311"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie biblioteki UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160311#p160311"><![CDATA[
<div class="quotetitle">pabianice2 napisał(a):</div><div class="quotecontent"><br />ale dlaczego tak jest?<br /></div><br />No tak - podstawy, polecam jednak przeczytać początek książki - sam początek na temat języka C i konstrukcji funkcji main() bo widać, że to pominąłeś  i masz masakrę<br /><br />gdy nie masz pętli nieskończonej to program grzecznie kończy swoje działanie i wyłącza wszystkie przerwania<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 9 maja 2016, o 20:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pabianice2]]></name></author>
<updated>2016-05-09T20:11:35+01:00</updated>
<published>2016-05-09T20:11:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160310#p160310</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160310#p160310"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie biblioteki UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160310#p160310"><![CDATA[
Z <div class="codetitle"><b>Code:</b></div><div class="codecontent">while(1)</div> działa pięknie, ale dlaczego tak jest?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11912">pabianice2</a> — 9 maja 2016, o 20:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2016-05-09T20:08:58+01:00</updated>
<published>2016-05-09T20:08:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160309#p160309</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160309#p160309"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie biblioteki UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160309#p160309"><![CDATA[
Zamień swój main.c na:<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;stdlib.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &quot;init.h&quot;<br />#include &lt;avr/interrupt.h&gt;<br />#include &quot;MKUART/mkuart.h&quot;<br /><br />int main (void) {<br /><br />USART_Init( __UBRR );<br />sei();<br />uart_puts(&quot;\r\nStarted\r\n&quot;);<br />init_display();<br /><br />while(1);<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7157">anshar</a> — 9 maja 2016, o 20:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-05-09T20:06:35+01:00</updated>
<published>2016-05-09T20:06:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160308#p160308</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160308#p160308"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie biblioteki UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160308#p160308"><![CDATA[
Aż jutro w firmie sprawdzę to na m1284P bo coś dziwne rzeczy mówisz <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ale zobaczymy jak to będzie w praktyce (bo jak to mówią nigdy nie mów nigdy) <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />. Bo na m32 działa to bez problemu ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 9 maja 2016, o 20:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pabianice2]]></name></author>
<updated>2016-05-09T19:59:40+01:00</updated>
<published>2016-05-09T19:59:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160306#p160306</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160306#p160306"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie biblioteki UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160306#p160306"><![CDATA[
To samo.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11912">pabianice2</a> — 9 maja 2016, o 19:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-05-09T19:56:20+01:00</updated>
<published>2016-05-09T19:56:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160305#p160305</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160305#p160305"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie biblioteki UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160305#p160305"><![CDATA[
Tutaj: <!-- m --><a class="postlink" href="http://atnel.pl/mkbootloader.html" >http://atnel.pl/mkbootloader.html</a><!-- m --><br /><br />masz pokazane jak wyłączyć sobie watchdoga, umieść tę funkcję ze stronki: staticvoid __init3( void ) przed main i sprawdź<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 9 maja 2016, o 19:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pabianice2]]></name></author>
<updated>2016-05-09T19:18:47+01:00</updated>
<published>2016-05-09T19:18:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160300#p160300</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160300#p160300"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie biblioteki UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160300#p160300"><![CDATA[
Proszę, gotowy program do przetestowania na ATMEGA 1284P THT:<br />main.c:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">#include &lt;avr/io.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;stdlib.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &quot;init.h&quot;<br />#include &lt;avr/interrupt.h&gt;<br />#include &quot;MKUART/mkuart.h&quot;<br /><br />int main (void) {<br /><br />USART_Init( __UBRR );<br />sei();<br />uart_puts(&quot;\r\nStarted\r\n&quot;);<br />init_display();<br />}<br /></div><br /><br />init.h:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">#ifndef INIT_h<br />#define INIT_h<br /><br />void init_display(void);<br /><br />#endif //INIT_h<br /></div><br /><br />init.c:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">#include &lt;util/delay.h&gt;<br />#include &quot;init.h&quot;<br />#include &quot;MKUART/mkuart.h&quot;<br /><br />void init_display(void){<br />      uart_puts(&quot;Starting init_display\r\n&quot;);<br />      uart_puts(&quot;ID: &quot;);<br />      uart_putint(255,16);<br />      uart_puts(&quot;\r\n&quot;);<br />      uart_puts(&quot;Starting init_display\r\n&quot;);<br />      uart_puts(&quot;Ending init_display\r\n&quot;);<br />      //_delay_ms(20); //z tym delayem działa, a bez ucina. Dlaczego???<br /><br />}<br /></div><br /><br />A to, żebyście nie musieli sami szukać nazw rejestrów pod DS-ie.<br />Maleńkie fragmenty pokazujące, co zmieniłem w bibliotece:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">UBRR0H = (...)<br />UBRR0L = (...)<br />UCSR0C = (1&lt;&lt;USBS0)|(3&lt;&lt;UCSZ00);<br />(...)<br />UCSR0B |= (1&lt;&lt;RXEN0)|(1&lt;&lt;TXEN0)|(1&lt;&lt;RXCIE0);<br />(...)<br />void uart_putc( char data ) {<br />(...)<br />UCSR0B |= (1&lt;&lt;UDRIE0);<br />(...)<br />ISR( USART0_UDRE_vect) {<br />(...)<br />UDR0 = (...)<br />(...)<br />UCSR0B &amp;= ~(1&lt;&lt;UDRIE0);<br />(...)<br /></div><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 11 minutach ]</span></strong><br /><br />Czy może być tak, że funkcja main dobiega końca, a procedura obsługi przerwania nie zdąży do tego czasu przepisać wszystkiego z bufora i wysłać na uart?<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 17 minutach ]</span></strong><br /><br />Dodam, że czy ustawię 9600, czy 115200, to jest to samo.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11912">pabianice2</a> — 9 maja 2016, o 19:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pabianice2]]></name></author>
<updated>2016-05-09T17:51:57+01:00</updated>
<published>2016-05-09T17:51:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160293#p160293</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160293#p160293"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie biblioteki UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160293#p160293"><![CDATA[
Ale wymyślacie <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Nie, nie resetuje się w kółko ani nie wywołuje uarta miliard razy na sekundę.<br />Procek musiałby mieć częstotliwość paru GHz, prawda?<br /><br />Coś jest ewidentnie nie teges.<br />Popróbuję dziś z innym kwarcem, analizatorem stanów logicznych, sprzętowym debugerem itp.<br />Jak nie pomoże, wstawię cały kod bez bibliotek i każdy będzie mógł sam przetestować na swoim 1284P.<br /><br />Trafiłem na ciekawy przypadek.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />Main bez pętli, watchdoga nie konfigurowałem w ogóle = ustawienia domyślne.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 16 minutach ]</span></strong><br /><br />Kwarc 7,3728 MHz nie pomógł - to nie to<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11912">pabianice2</a> — 9 maja 2016, o 17:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-05-09T16:24:13+01:00</updated>
<published>2016-05-09T16:24:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160283#p160283</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160283#p160283"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie biblioteki UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160283#p160283"><![CDATA[
<div class="quotetitle">Sparrow-hawk napisał(a):</div><div class="quotecontent"><br />Używasz w swoim układzie watchdog'a?<br /></div><br />hehehe no tak - wyżej mowa o ATmega1284 więc pewnie watchdog sobie hula nie wyłączony i tak na prawdę procek się wciąż resetuje i dlatego tylko takie poucinane rzeczy może lecą ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 9 maja 2016, o 16:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Sparrow-hawk]]></name></author>
<updated>2016-05-09T14:59:16+01:00</updated>
<published>2016-05-09T14:59:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160275#p160275</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160275#p160275"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie biblioteki UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160275#p160275"><![CDATA[
Możesz wstawić cały kod, z którego korzystasz? Oczywiście bez bibliotek? Używasz w swoim układzie watchdog'a? Czy funkcja main() zawiera u Ciebie pętlę nieskończoną?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10614">Sparrow-hawk</a> — 9 maja 2016, o 14:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-05-09T09:09:51+01:00</updated>
<published>2016-05-09T09:09:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160268#p160268</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160268#p160268"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie biblioteki UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160268#p160268"><![CDATA[
Zamiast doszukiwać się ciekawostek weź w rękę kwarc przyjazny RS232 czyli np 11,0592 MHz i sprawdź ok?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 9 maja 2016, o 09:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pabianice2]]></name></author>
<updated>2016-05-08T22:52:38+01:00</updated>
<published>2016-05-08T22:52:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160265#p160265</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160265#p160265"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie biblioteki UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160265#p160265"><![CDATA[
Czasami zdarzają się też nieudokumentowane błędy sprzętowe. Znalazłem info, że ktoś odkrył czysto sprzętowy problem z odbiorem danych przez UART na 1284p. U niego pomogła zmiana ustawień dot. zewn. kwarcu. Zaraz popróbuję. Nieprawdopodobne, ale tak też bywa. Facet twierdzi, że na 644 kod działał bez zająknięcia. Inna ciekawostka tego typu, też dotycząca RX: <a href="http://www.avrfreaks.net/forum/atmega1284p-uart-rx-glitch"  class="postlink">http://www.avrfreaks.net/forum/atmega1284p-uart-rx-glitch</a><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 28 minutach ]</span></strong><br /><br />Zmiana oscylatora na 2 MHz ani zmiana baud rate nie pomogła, acz sprawiła, że łańcuch jest ucinany w innym miejscu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11912">pabianice2</a> — 8 maja 2016, o 22:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pabianice2]]></name></author>
<updated>2016-05-08T21:09:41+01:00</updated>
<published>2016-05-08T21:09:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160257#p160257</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160257#p160257"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie biblioteki UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160257#p160257"><![CDATA[
8 MHz. Próbowałem i na wewn. rezonatorze, i na kwarcu zewn. (też 8)<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">#define UART_BAUD 9600      <br />#define __UBRR ((F_CPU+UART_BAUD*8UL) / (16UL*UART_BAUD)-1)<br /></div><br /><br />Atmega 1284P, nazwy rejestrów poprawne - musiałem wprowadzić niewielkie zmiany w stosunku do bibliotek, posługując się Datasheetem.<br /><br />Co ciekawe, cała obsługa uarta w funkcji main() działa. Natomiast problemy zaczynają się, gdy wrzucam ją do funkcji init(), która jest jednorazowo wywoływana przez main(). Poza przerwaniem do obsługi nadawania znaków przez uart (z bliblioteki) w programie nie wykorzystuję żadnych innych przerwań.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 27 minutach ]</span></strong><br /><br />Postaram się zaraz zlokalizować miejsce w tej funkcji, od którego uart zaczyna wariować. Bardzo to wszystko dziwne <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 44 minutach ]</span></strong><br /><br />Nie widzę żadnej logicznej przyczyny. Jak zrobię tak:<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">uart_puts(&quot;Ending init_display\r\n&quot;);<br />uart_puts(&quot;Ending init_display\r\n&quot;);</div><br />, to PuttY wyświeli mi:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">Ending init_display<br />Ending<br /></div><br />Jak zrobię tak:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">uart_puts(&quot;Ending init_display\r\n&quot;);<br />uart_puts(&quot;Ending init_display\r\n&quot;);<br />uart_puts(&quot;Ending init_display\r\n&quot;);<br />uart_puts(&quot;Ending init_display\r\n&quot;);</div>,<br />to PuTTY pokaże tak:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">Ending init_display<br />Ending init_display<br />Ending init_display<br />Ending<br /></div><br />Natomiast przeniesienie tego w inne, losowe miejsce w kodzie sprawia, że działa.<br />Badałem instrukcje występujące i przed, i po. Niczego niezwykłego nie znalazłem.<br />Zaczynam już podejrzewać jakiś dziwny błąd kompilatora.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 46 minutach ]</span></strong><br /><br />Jak po każdej z tych instrukcji dałem delay_ms(10), to teraz w ostatnim wierszu mam:<br /><br />Ending init_dis<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 52 minutyach ]</span></strong><br /><br />Zrobiłem jeszcze jeden test i jest jeszcze dziwniej:<br /><br />Program testowy, raptem parę linijek. Reszta wykomentowana. Nic poza tym. <br /><br />W funkcji main robię uart_puts &quot;Starting&quot;.<br />Potem wchodzę do tej feralnej funkcji i wywołuję tam parę razy to uart_puts &quot;Ending init display&quot;.<br />Gdy nastąpi powrót z tejże funkcji do main, już w ramach main wywołuję to ostatnie<br />uart_puts &quot;Ending init display&quot;.<br /><br />I problem jest ten sam. Obcina końcówkę.<br /><br />Ale teraz najlepsze. Jak na końcu dam _delay_ms(20), do działa.<br />Ale jak nie dam delaya, za to zakończę w tym miejscu funkcję main, żeby po uart_puts już absolutnie niczego nie było, tylko koniec programu, to znów nie działa.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11912">pabianice2</a> — 8 maja 2016, o 21:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-05-08T21:04:20+01:00</updated>
<published>2016-05-08T21:04:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160256#p160256</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160256#p160256"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie biblioteki UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160256#p160256"><![CDATA[
Jakie masz taktowanie procka ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 8 maja 2016, o 21:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pabianice2]]></name></author>
<updated>2016-05-08T20:32:00+01:00</updated>
<published>2016-05-08T20:32:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160250#p160250</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160250#p160250"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie biblioteki UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160250#p160250"><![CDATA[
Faktycznie, zależy to od umiejscowienia tej pętli w programie i tak, dziwi mnie to <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Dlaczego ma to znaczenie?<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 6 minutach ]</span></strong><br /><br />Nadal nie daje mi to spokoju.<br /><br />Na początku programu wysyłam string Starting Program.<br />Potem robię różne rzeczy, które trwają. Inicjuję ekran i takie tam.<br />Wysyłam przez uart_putint wartość liczbową.<br />Potem znów różne operacje. Na końcu umieszczam sobie jeszcze kontrolnie delaya.<br />I niezależnie od jego długości, ostatnie polecenie uart_puts &quot;Ending init&quot; zawsze owocuje wyświetleniem<br />samego &quot;Ending&quot;. Natomiast napis wyświetli się poprawnie, jeśli dołożę jeszcze jedną instrukcję uart_puts.<br />Wtedy za to nie wyświetli się treść tej ostatniej.<br /><br />To właśnie to sprawia, że sądzę, że z jakiegoś względu z bufora nie wychodzi sama końcówka.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 12 minutach ]</span></strong><br /><br />Nie wiem, jak odczytać terminalem dane do pliku bez wyświetlania ich na ekranie, ale w putty jak ustawię log to file, to plik zawiera dokładnie to samo, co widzę na ekranie w trakcie sesji<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11912">pabianice2</a> — 8 maja 2016, o 20:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-05-08T20:24:47+01:00</updated>
<published>2016-05-08T20:24:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160248#p160248</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160248#p160248"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie biblioteki UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160248#p160248"><![CDATA[
<div class="quotetitle">pabianice2 napisał(a):</div><div class="quotecontent"><br />Z jakiegoś względu problem dotyczy zawsze kilku ostatnich instrukcji.<br /></div><br />A czytałeś co wyżej napisałem ? Sorki ale chyba w ogóle nie czytałeś ....<br /><br />Powtórzę jeszcze raz zrób inny test bo ten jest bez sensu dla terminala do którego pchasz dane za szybko więc nie dziwne że wymiotuje. Na szybszym kompie wyświetli jeszcze inne zestawy twoich cyferek ... albo raz tyle raz mniej ....<br /><br />więc:<br /><br />1. albo odczytuj terminalem dane do pliku i sprawdź co dostałeś w pliku i zobaczysz wszystko<br /><br />2. albo nie rób swojej pętli for() w pętli głównej tylko przed nią i zobacz ile ci się cyferek wyświetlać będzie w terminalu - pewnie się zdziwisz że za każdym razem 8 albo 9 czy ile tam ustawisz<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 8 maja 2016, o 20:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pabianice2]]></name></author>
<updated>2016-05-08T20:19:21+01:00</updated>
<published>2016-05-08T20:19:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160247#p160247</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160247#p160247"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie biblioteki UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160247#p160247"><![CDATA[
Ale tu nie chodzi o to, że dostaję śmieci, tylko o to, że jeśli zrobię pętlę do 8, to na ekranie widzę:<br />0<br />1<br />2<br /><br />Jeśli zrobię pętlę do 9, to widzę:<br />0<br />1<br />2<br />3<br /><br />itd.<br /><br />Jeśli zrobię do 80, to też nie będzie żadnych śmieci. Wszystko będzie dobrze, poza samą końcówką, czyli:<br />0<br />1<br />2<br />(...)<br />74<br />75<br />7 (i tu widać już tylko kursor)<br /><br />Z jakiegoś względu problem dotyczy zawsze kilku ostatnich instrukcji.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11912">pabianice2</a> — 8 maja 2016, o 20:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-05-08T20:13:20+01:00</updated>
<published>2016-05-08T20:13:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160243#p160243</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160243#p160243"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie biblioteki UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160243#p160243"><![CDATA[
<span style="color: #FF0000">[ Po pierwsze panie kolego to już jesteś trochę na tym forum i nie wiesz jak się wstawia listingi programów? nie widziałeś instrukcji ? <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic7402.html" >topic7402.html</a><!-- l --> - bardzo proszę popraw ten swój kod w poście wyżej ]</span><br /><br /><div class="quotetitle">pabianice2 napisał(a):</div><div class="quotecontent"><br />Z delayem wyświetla do wartości 7 włącznie. Bez delaya do 2 włącznie. Co ciekawe, jeśli w pętli zmienię 8 na 9, to pokaże do 3 włącznie. Zawsze ma problem z ostatnimi 5 znakami z bufora, nawet jak w pętli zrobię 80.<br /></div><br />No tak i jak zwykle pomysł, że winne pewnie są biblioteki <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> To tak będzie działać panie kochany i tak ma działać <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... że w terminalu (jeszcze zależy od terminala, komputera itp) będziesz dostawał różne śmieci.... na jego ekranie .... <br /><br />Jak chcesz przetestować ciągłość przesyłania to zrób lepszy test - np zapisuj do pliku przesłane dane z procka i wtedy zajrzyj do pliku, a nie że ty na ekranie chcesz zobaczyć coś co jak pisałem wyżej wysyłasz miliardy razy na sekundę - a nawet chyba sprawy sobie z tego nie zdajesz hmmm ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 8 maja 2016, o 20:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pabianice2]]></name></author>
<updated>2016-05-08T20:16:28+01:00</updated>
<published>2016-05-08T19:57:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160240#p160240</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160240#p160240"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie biblioteki UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160240#p160240"><![CDATA[
Sądziłem, że jeżeli bufor nadawczy będzie zapełniony, to ten wiersz biblioteki:<br />while ( tmp_head == UART_TxTail ){}<br />sprawi, że wykonywanie programu zostanie wstrzymane do momentu, aż część znaków z bufora uda się wyrzucić na zewnątrz przez UART. Biblioteki oczywiście nie przepisuję, natomiast mój kod wygląda tak:<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">(odblokowanie przerwań i uart_init)<br />(...)<br />      uart_puts(&quot;Starting\r\n&quot;);<br />      for (int i=0;i&lt;8;i++)<br />      {<br />         uart_putint(i,10);<br />         //_delay_ms(5);<br />         uart_puts(&quot;\r\n&quot;);<br />      }</div><br /><br />Z delayem wyświetla do wartości 7 włącznie. Bez delaya do 2 włącznie. Co ciekawe, jeśli w pętli zmienię 8 na 9, to pokaże do 3 włącznie. Zawsze ma problem z ostatnimi 5 znakami z bufora, nawet jak w pętli zrobię 80.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11912">pabianice2</a> — 8 maja 2016, o 19:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-05-08T19:42:14+01:00</updated>
<published>2016-05-08T19:42:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160238#p160238</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160238#p160238"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie biblioteki UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160238#p160238"><![CDATA[
<div class="quotetitle">pabianice2 napisał(a):</div><div class="quotecontent"><br />Natomiast gdy puszczę serię instrukcji uart_puts jedna po drugiej,<br /></div><br />Jedna po drugiej <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> jak ja lubię takie określenia - oczywiście nic nie powinno się dziać ale jak dajesz w pętli głównej bez żadnego delaya wysyłanie stringów (I TERAZ ZASTANÓW SIĘ DOBRZE - milard razy na sekundę) .... to co ? <br /><br />A jak chcesz żeby ci pomóc to pokaż że swój kod z pliku main.c jak ty to testujesz żeby nie bawić się w zgadywanki, kalambury i zgaduj zgadule - ok?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 8 maja 2016, o 19:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pabianice2]]></name></author>
<updated>2016-05-08T19:39:03+01:00</updated>
<published>2016-05-08T19:39:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160237#p160237</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160237#p160237"/>
<title type="html"><![CDATA[Dziwne zachowanie biblioteki UART]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15333&amp;p=160237#p160237"><![CDATA[
Biblioteka MK UART z książki oczywiście działa, ale zauważyłem dziwną rzecz i nie wiem, z czego to się bierze, ani jak to szybko i prosto poprawić. Otóż gdy wysyłam jakiś string do Putty raz na jakiś czas, to wszystko działa. Natomiast gdy puszczę serię instrukcji uart_puts jedna po drugiej, to zawsze ostatnie 5 znaków z ostatniej instrukcji w serii jest ucinane i nie pojawia się na ekranie. Chyba, że po każdym uart_puts z tej serii dam delaya co najmniej 5 ms. Wtedy wszystko działa. Prędkość ustawiona na 9600, zewnętrzny kwarc 8 MHz, UBRR ustawiony już po nowemu, po erracie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11912">pabianice2</a> — 8 maja 2016, o 19:39</p><hr />
]]></content>
</entry>
</feed>