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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-11-30T23:04:50+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=9440&amp;mode</id>
<entry>
<author><name><![CDATA[radmistrz2]]></name></author>
<updated>2014-11-30T16:41:52+01:00</updated>
<published>2014-11-30T16:41:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106791#p106791</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106791#p106791"/>
<title type="html"><![CDATA[Re: Problem z odczytem danych uart i ich wyświetleniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106791#p106791"><![CDATA[
<div class="quotetitle">radmistrz2 napisał(a):</div><div class="quotecontent"><br />udało mi się rozgryźć skąd te krzaki bądź źle wyświetlane linie - jeśli w pętli wywołałem 10 razy zm[i] = uart_getc(), to tablica miała postać {71, 0, 0, 0, 65, 0, 0, 0, 67, 0}. Teoretycznie taki kod wszystko załatwia:<br /><br />[syntax=c]do{<br />znak&#91;i&#93; = uart_getc();<br />if(znak&#91;i&#93;) i++;<br />}while(znak&#91;i&#93;!=0x0D);<br />znak&#91;i&#93; = 0;<br />i=0;[/syntax]<br /><br />ale wtedy przerwania tracą tutaj sens bo program długo czeka w pętli - czy dobrze myślę?<br /></div><br /><br /><br />EDIT: Chwilka odpoczynku i rozwiązanie samo się nasunęło <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=5544">radmistrz2</a> — 30 lis 2014, o 16:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[radmistrz2]]></name></author>
<updated>2014-11-30T14:58:02+01:00</updated>
<published>2014-11-30T14:58:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106748#p106748</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106748#p106748"/>
<title type="html"><![CDATA[Re: Problem z odczytem danych uart i ich wyświetleniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106748#p106748"><![CDATA[
udało mi się rozgryźć skąd te krzaki bądź źle wyświetlane linie - jeśli w pętli wywołałem 10 razy zm[i] = uart_getc(), to tablica miała postać {71, 0, 0, 0, 65, 0, 0, 0, 67, 0}. Teoretycznie taki kod wszystko załatwia:<br /><br />[syntax=c]do{<br />znak&#91;i&#93; = uart_getc();<br />if(znak&#91;i&#93;) i++;<br />}while(znak&#91;i&#93;!=0x0D);<br />znak&#91;i&#93; = 0;<br />i=0;[/syntax]<br /><br />ale wtedy przerwania tracą tutaj sens bo program długo czeka w pętli - czy dobrze myślę?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5544">radmistrz2</a> — 30 lis 2014, o 14:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2014-11-30T13:30:10+01:00</updated>
<published>2014-11-30T13:30:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106735#p106735</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106735#p106735"/>
<title type="html"><![CDATA[Re: Problem z odczytem danych uart i ich wyświetleniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106735#p106735"><![CDATA[
<div class="quotetitle">radmistrz2 napisał(a):</div><div class="quotecontent"><br />3. To gdzie definiować F_CPU, bo jeśli go nie zdefiniuje to biblioteka delay.h ustawi mi go na 1000000UL?<br /></div><br />Wybierz projekt w którym to chcesz ustawić i naciśnij Alt+F7 czyli inaczej Project -&gt; Properties - później wybierz Toolchain -&gt; Symbols i w górnym okienku dodaj F_CPU=8000000UL - ot i wszystko - w Eclipse w innym miejscu się to ustawia, a w AS w innym - każde środowisko ma swoje ustawienia i trzeba się ich po prostu nauczyć. Tu czy gdzie indziej, takie czy inne IDE ale generalnie dotyczy to właściwości projektu.<p>Statystyki: Napisane przez Gość — 30 lis 2014, o 13:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-11-30T13:20:22+01:00</updated>
<published>2014-11-30T13:20:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106732#p106732</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106732#p106732"/>
<title type="html"><![CDATA[Re: Problem z odczytem danych uart i ich wyświetleniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106732#p106732"><![CDATA[
<div class="quotetitle">radmistrz2 napisał(a):</div><div class="quotecontent"><br />3. To gdzie definiować F_CPU, bo jeśli go nie zdefiniuje to biblioteka delay.h ustawi mi go na 1000000UL?<br /></div><br />Zapewniam cię że i w tym środowisku nie ustawia się tego w kodzie programu .... a to co robisz w kodzie to wielki błąd i nie chcę na tym forum powielania wciąż tego błędu ... szczególnie że prawie wszyscy początkujący bawiący się Atmel Studio robią tego samego babola. Ja nie mam siły i zamiaru tłumaczyć jak to jest w Atmel Studio - doczytaj sam. Ja mogę pomóc z Eclipse.<br /><br /><div class="quotetitle">radmistrz2 napisał(a):</div><div class="quotecontent"><br />4. Polecam dodać na forum jakąś informację na PW o edycji posta przez moderatora, bo ciężko przywyknąć, że odpowiedź może być we własnym wedytowanym poście. Postaram się przyzwyczaić do tego.<br /></div><br />Liczę, że każdy kto to zobaczył będzie już pamiętał .... ok?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 lis 2014, o 13:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[radmistrz2]]></name></author>
<updated>2014-11-30T12:58:40+01:00</updated>
<published>2014-11-30T12:58:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106726#p106726</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106726#p106726"/>
<title type="html"><![CDATA[Re: Problem z odczytem danych uart i ich wyświetleniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106726#p106726"><![CDATA[
1. fusebity ustawiłem na MKAvrCalculator<br />2. Korzystam z Atmel Studi 6<br />3. To gdzie definiować F_CPU, bo jeśli go nie zdefiniuje to biblioteka delay.h ustawi mi go na 1000000UL?<br />4. Polecam dodać na forum jakąś informację na PW o edycji posta przez moderatora, bo ciężko przywyknąć, że odpowiedź może być we własnym wedytowanym poście. Postaram się przyzwyczaić do tego.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5544">radmistrz2</a> — 30 lis 2014, o 12:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-11-30T12:27:08+01:00</updated>
<published>2014-11-30T12:27:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106723#p106723</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106723#p106723"/>
<title type="html"><![CDATA[Re: Problem z odczytem danych uart i ich wyświetleniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106723#p106723"><![CDATA[
Posłuchaj jeśli jeszcze raz na tym forum wpiszesz kod źródłowy z tym co ci zaznaczam już któryś raz z kolei to skasuję ten kod<br /><br />czy do ciebie dociera ta uwaga na czerwono ??? że w kodzie programu się nie wpisuje #define F_CPU ???? bo to nie jest żadne przestawienie częstotliwości ?<br /><br />zmianę częstotliwości robisz za pomocą FUSEBITÓW procka a częstotliwość zmieniasz we właściwościach projektu w Eclipse<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 lis 2014, o 12:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[radmistrz2]]></name></author>
<updated>2014-11-30T12:21:29+01:00</updated>
<published>2014-11-30T12:21:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106721#p106721</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106721#p106721"/>
<title type="html"><![CDATA[Re: Problem z odczytem danych uart i ich wyświetleniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106721#p106721"><![CDATA[
tak tak doszedłem tam, zapomniałem napisać, że zmieniłem taktowanie na 8 MHz. <br /><br />Aktualna wersja programu - dla testów chcę wyświetlać ostatnio odebrane dane. Niestety dalej są jakieś dziwne znaczki, trochę liter, ale generalnie jakieś śmieci. Nie mam jeszcze takiego doświadczenia z C, ale sprawdził by mi ktoś czy poprawnie próbuję wyświetlić znaki? Mój wcześniejszy błąd wiązał się również z tym, że funkcja WriteLine przyjmuje argument char*, a ja nie dawałem operatora wyłuskania przed zmieną. <br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br /><span style="color: #FF0000"><strong><em>#define F_CPU 8000000UL</em></strong> &lt;---- TEGO NIGDY NIE WPISUJEMY W KODZIE PROGRAMU - mirekk36</span><br /></div><br />[syntax=c]#include &lt;stdio.h&gt;<br />#include &lt;string.h&gt;<br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &quot;HD44780.c&quot;<br />#define UART_RX_BUF_SEZE 128<br />#define UART_RX_BUF_MASK ( UART_RX_BUF_SEZE - 1)<br /><br /><br />#define USART_BAUDRATE 9600<br />#define BAUD_PRESCALE (((F_CPU / (USART_BAUDRATE * 16UL))) - 1)<br />void usart_init(void);<br />volatile char UART_RxBuf&#91;UART_RX_BUF_SEZE&#93;;<br />volatile uint8_t UART_RxHead;<br />volatile uint8_t UART_RxTail;<br />void USART_Transmit(char data);<br />char uart_getc(void);<br /><br />ISR(USART_RXC_vect){<br />uint8_t tmp_head;<br />char data;<br />data=UDR;<br />tmp_head = (UART_RxTail +1) &amp; UART_RX_BUF_MASK;<br />if(tmp_head == UART_RxTail) {<br /><br />}<br />else<br />{<br />UART_RxHead = tmp_head;<br />UART_RxBuf&#91;tmp_head&#93; = data;<br />}<br />}<br />void string(char *str);<br /><br />void main(void)<br />{<br />OSCCAL = (uint8_t)170;<br />LCD_Initalize();   //inicjalizacja LCD<br />usart_init();<br />sei();<br />unsigned char i=0;<br />char znak;<br />for(;;)<br />{<br />do{<br />znak = uart_getc();<br />LCD_GoTo(i, 0);      //Ustawienie kursora w pozycji (0,0)<br />LCD_WriteText(&amp;znak);<br />i++;<br />}while(i&lt;=20);<br />i=0;<br />LCD_GoTo(0, 1);         //Ustawienie kursora w pozycji (5,1)<br />LCD_WriteText(&quot;S:&quot;);<br />//_delay_ms(300);<br />//itoa(ADC,wynik,10);      //konwersja wyniku do tablicy char<br />}<br />}<br /><br />void USART_Transmit(char data){<br />while(!(UCSRA &amp; (1&lt;&lt;UDRE)));<br />UDR=data;<br />}<br />void string(char *str){<br />while(*str) USART_Transmit(*str++);<br />}<br /><br />void usart_init(void)        //funkcja inicjalizująca usart<br />{<br />UBRRH = (BAUD_PRESCALE &gt;&gt; 8);        //wpisanie starszego bajtu<br />UBRRL = BAUD_PRESCALE;             //wpisanie mlodszego bajtu<br /><br />//UCSRA bez zmian - 0x00<br />UCSRB = (1&lt;&lt;RXCIE)|(1&lt;&lt;RXEN)|(1&lt;&lt;TXEN);                 //aktywne przerwanie od odbioru oraz zmiana trybu działania pinów D0 i D1<br />UCSRC = (1 &lt;&lt; URSEL) | (3 &lt;&lt; UCSZ0);     //praca synchroniczna, brak kontroli parzystości, 1 bit stopu, 8 bitów danych<br /><br />}<br />char uart_getc(void){<br />if(UART_RxHead == UART_RxTail) return 0;<br />UART_RxTail = (UART_RxTail +1) &amp; UART_RX_BUF_MASK;<br />return UART_RxBuf&#91;UART_RxTail&#93;;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5544">radmistrz2</a> — 30 lis 2014, o 12:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-11-30T11:55:44+01:00</updated>
<published>2014-11-30T11:55:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106714#p106714</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106714#p106714"/>
<title type="html"><![CDATA[Re: Problem z odczytem danych uart i ich wyświetleniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106714#p106714"><![CDATA[
to jak masz Bluebooka to proszę cię poczytaj o tym co się dzieje jak masz taktowanie 1 MHz ... i dlaczego w książce ale i na forum wszędzie piszę - zaczynaj od 8MHz .... sprawdzaj tabelki w PDF procka na ostatniej stronie rozdziału UART ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 lis 2014, o 11:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[radmistrz2]]></name></author>
<updated>2014-11-30T11:19:18+01:00</updated>
<published>2014-11-30T11:19:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106705#p106705</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106705#p106705"/>
<title type="html"><![CDATA[Re: Problem z odczytem danych uart i ich wyświetleniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106705#p106705"><![CDATA[
mam, właśnie tam znalazłem rozwiązanie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Po ustawieniu osccal na 170 wysyłanie do PC działa, ale odbiór z GPSa niestety jeszcze nie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5544">radmistrz2</a> — 30 lis 2014, o 11:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-11-29T23:38:51+01:00</updated>
<published>2014-11-29T23:38:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106674#p106674</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106674#p106674"/>
<title type="html"><![CDATA[Re: Problem z odczytem danych uart i ich wyświetleniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106674#p106674"><![CDATA[
Masz może Bluebooka ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 29 lis 2014, o 23:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[radmistrz2]]></name></author>
<updated>2014-11-29T22:14:59+01:00</updated>
<published>2014-11-29T22:14:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106648#p106648</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106648#p106648"/>
<title type="html"><![CDATA[Re: Problem z odczytem danych uart i ich wyświetleniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106648#p106648"><![CDATA[
Uprościłem program, i niestety odbieram same krzaki:<br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br /><strong><span style="color: #FF0000">#define F_CPU 1000000UL &lt;-- tego NIGDY NIE dajemy w kodzie programu !</span></strong><br /></div><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#define UART_BAUD 9600<br />#define _UBRR ((F_CPU+UART_BAUD*8UL)/(16UL*UART_BAUD-1))<br /><br />void usart_init(void);<br /><br />void USART_Transmit(char data);<br /><br /><br />void main(void)<br />{<br />usart_init();<br /><br />for(;;)<br />{<br />USART_Transmit('t');<br />USART_Transmit('e');<br />USART_Transmit('k');<br />USART_Transmit('s');<br />USART_Transmit('t');<br />_delay_ms(300);<br />}<br />}<br /><br />void USART_Transmit(char data){<br />while(!(UCSRA &amp; (1&lt;&lt;UDRE)));<br />UDR=data;<br />}<br /><br />void usart_init()     <br />{<br />UBRRH = (_UBRR &gt;&gt; 8);        <br />UBRRL = _UBRR;             <br />UCSRB = (1&lt;&lt;RXEN)|(1&lt;&lt;TXEN);                 <br />UCSRC = (1 &lt;&lt; URSEL) | (3 &lt;&lt; UCSZ0);     <br /><br />}[/syntax]<br /><br /><br />EDIT: OSCCAL...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5544">radmistrz2</a> — 29 lis 2014, o 22:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[radmistrz2]]></name></author>
<updated>2014-11-27T23:23:51+01:00</updated>
<published>2014-11-27T23:23:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106366#p106366</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106366#p106366"/>
<title type="html"><![CDATA[Re: Problem z odczytem danych uart i ich wyświetleniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106366#p106366"><![CDATA[
Z GPSem przez PC komunikuję się po 9600, także w czym pomoże zmiana USART_BAUDRATE ??<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5544">radmistrz2</a> — 27 lis 2014, o 23:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-11-26T22:14:59+01:00</updated>
<published>2014-11-26T22:14:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106133#p106133</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106133#p106133"/>
<title type="html"><![CDATA[Re: Problem z odczytem danych uart i ich wyświetleniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106133#p106133"><![CDATA[
<div class="quotetitle">radmistrz2 napisał(a):</div><div class="quotecontent"><br />niestety to nie pomogło <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> w dalszym ciągu mam jakieś dziwne znaczki...<br /></div><br /><br /><span style="color: #FF0000">czytałeś uwagę na czerwono w pierwszym poście ? proszę przeczytaj i popraw bo inaczej wątek będzie musiał zniknąć <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /></span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 26 lis 2014, o 22:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sjedrzej]]></name></author>
<updated>2014-11-26T21:59:13+01:00</updated>
<published>2014-11-26T21:59:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106127#p106127</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106127#p106127"/>
<title type="html"><![CDATA[Re: Problem z odczytem danych uart i ich wyświetleniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106127#p106127"><![CDATA[
spróbuj ustawić inny BAUDRATE<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2305">sjedrzej</a> — 26 lis 2014, o 21:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[radmistrz2]]></name></author>
<updated>2014-11-26T21:21:00+01:00</updated>
<published>2014-11-26T21:21:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106120#p106120</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106120#p106120"/>
<title type="html"><![CDATA[Re: Problem z odczytem danych uart i ich wyświetleniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106120#p106120"><![CDATA[
niestety to nie pomogło <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> w dalszym ciągu mam jakieś dziwne znaczki...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5544">radmistrz2</a> — 26 lis 2014, o 21:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[atmel]]></name></author>
<updated>2014-11-26T20:21:54+01:00</updated>
<published>2014-11-26T20:21:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106110#p106110</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106110#p106110"/>
<title type="html"><![CDATA[Re: Problem z odczytem danych uart i ich wyświetleniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106110#p106110"><![CDATA[
Problem może tkwić w linii 58:<br />[syntax=c]if(znak&gt;0 &amp; znak&lt;256) LCD_WriteText(znak);[/syntax]<br />Zapewne powinno być:<br />[syntax=c]if(znak &gt;= 32 &amp;&amp; znak &lt; 127) LCD_WriteChar(znak);[/syntax]<br /><br />Iloczyn logiczny oraz funkcja wypisująca znak, a nie łańcuch znakowy. Dla typu &quot;char&quot; zmiennej &quot;znak&quot; nie ma w sumie sensu druga część wyrażenia bo jej zakres to od -128 do 127. Twój zapis warunku jest zupełnie bez sensu...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1183">atmel</a> — 26 lis 2014, o 20:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[radmistrz2]]></name></author>
<updated>2014-11-30T23:04:50+01:00</updated>
<published>2014-11-26T19:33:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106097#p106097</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106097#p106097"/>
<title type="html"><![CDATA[Problem z odczytem danych uart i ich wyświetleniem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9440&amp;p=106097#p106097"><![CDATA[
Witam,<br /><br />Mam atmegę8, wyświetlacz hd44780 i moduł GPS. Chciałbym odczytywać z niego dane i wyświetlać na wyświetlaczu (Ramka GPS):<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">$GPGGA,123951.000,9902.1447,N,09958.0482,E,1,8,0.97,265.2,M,40.6,M,,*54</div><br />Do wyświetlacza używam gotowej biblioteki, a z rs'em komunikuję się w przerwaniu. Problem tkwi w tym, że zamiast kolejno pobieranych pojedynczych znaków, jakieś krzaczki zasypują mi cały lcd. W czym tkwi problem? Oto kod programu:<br /><br /><span style="color: #FF0000">[ panie kolego - zajrzyj tutaj: <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic7402.html" >topic7402.html</a><!-- l --> i przeczytaj DOKŁADNIE jak formatować kod na forum ok? - mirekk36 ]</span><br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;string.h&gt;<br />#include &quot;HD44780.c&quot;<br />#define UART_RX_BUF_SEZE 128<br />#define UART_RX_BUF_MASK ( UART_RX_BUF_SEZE - 1)<br /><br />#define USART_BAUDRATE 9600<br />#define BAUD_PRESCALE (((F_CPU / (USART_BAUDRATE * 16UL))) - 1)<br /><br />void usart_init(void)        //funkcja inicjalizująca usart<br />{<br />UBRRH = (BAUD_PRESCALE &gt;&gt; 8);        //wpisanie starszego bajtu<br />UBRRL = BAUD_PRESCALE;             //wpisanie mlodszego bajtu<br /><br />//UCSRA bez zmian - 0x00<br />UCSRB = (1&lt;&lt;RXCIE)|(1&lt;&lt;RXEN)|(1&lt;&lt;TXEN);                 //aktywne przerwanie od odbioru oraz zmiana trybu działania pinów D0 i D1<br />UCSRC = (1 &lt;&lt; URSEL) | (3 &lt;&lt; UCSZ0);     //praca synchroniczna, brak kontroli parzystości, 1 bit stopu, 8 bitów danych<br /><br />}<br /><br />volatile char UART_RxBuf&#91;UART_RX_BUF_SEZE&#93;;<br />volatile uint8_t UART_RxHead;<br />volatile uint8_t UART_RxTail;<br /><br /><br />char uart_getc(void){<br />if(UART_RxHead == UART_RxTail) return 0;<br />UART_RxTail = (UART_RxTail +1) &amp; UART_RX_BUF_MASK;<br />return UART_RxBuf&#91;UART_RxTail&#93;;<br />}<br /><br />ISR(USART_RXC_vect){<br />uint8_t tmp_head;<br />char data;<br />data=UDR;<br />tmp_head = (UART_RxTail +1) &amp; UART_RX_BUF_MASK;<br />if(tmp_head == UART_RxTail) {<br /><br />}<br />else<br />{<br />UART_RxHead = tmp_head;<br />UART_RxBuf&#91;tmp_head&#93; = data;<br />}<br />}<br />void main(void)<br />{<br />LCD_Initalize();   //inicjalizacja LCD<br />usart_init();<br />sei();<br />char znak;<br />for(;;)<br />{<br />znak = uart_getc();<br />LCD_GoTo(0, 0);      //Ustawienie kursora w pozycji (0,0)<br />if(znak&gt;0 &amp; znak&lt;256) LCD_WriteText(znak);<br />LCD_GoTo(0, 1);         //Ustawienie kursora w pozycji (0,1)<br />LCD_WriteText(&quot;S:&quot;);<br />//_delay_ms(10);<br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5544">radmistrz2</a> — 26 lis 2014, o 19:33</p><hr />
]]></content>
</entry>
</feed>