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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-06-08T14:17:45+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=11872&amp;mode</id>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2015-06-08T14:17:45+01:00</updated>
<published>2015-06-08T14:17:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=131248#p131248</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=131248#p131248"/>
<title type="html"><![CDATA[Re: Wysyłanie danych na hd44780 przez rs232]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=131248#p131248"><![CDATA[
Dokładnie tak zrobiłem i wszystko działa jak powinno.<br />Dziękuje wszystkim za pomoc<br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 8 cze 2015, o 14:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[eMCe2]]></name></author>
<updated>2015-06-08T14:02:45+01:00</updated>
<published>2015-06-08T14:02:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=131246#p131246</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=131246#p131246"/>
<title type="html"><![CDATA[Re: Wysyłanie danych na hd44780 przez rs232]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=131246#p131246"><![CDATA[
i jak nie zmieniles u siebie tej predkosci to zmien z 2400 na jakies 9600 przynajmniej...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1363">eMCe2</a> — 8 cze 2015, o 14:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[majster]]></name></author>
<updated>2015-06-08T13:59:59+01:00</updated>
<published>2015-06-08T13:59:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=131245#p131245</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=131245#p131245"/>
<title type="html"><![CDATA[Re: Wysyłanie danych na hd44780 przez rs232]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=131245#p131245"><![CDATA[
To ustaw w projekcie takie same taktowanie co ustawiasz w procku przez mkavrcalculator.<br /><br />Namazane ze smarta.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1628">majster</a> — 8 cze 2015, o 13:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2015-06-08T09:32:22+01:00</updated>
<published>2015-06-08T09:32:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=131238#p131238</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=131238#p131238"/>
<title type="html"><![CDATA[Re: Wysyłanie danych na hd44780 przez rs232]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=131238#p131238"><![CDATA[
Witam!<br />W mkAVRcalc miałem ustawione 8MHz a w Eclipsie miałem ustawione na 1MHz i stąd moje problemy. Gdy chcę wysłać tekst &quot;qwerty&quot;<br />to na wyświetlaczu pojawia się tylko qwer.<br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 8 cze 2015, o 09:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[eMCe2]]></name></author>
<updated>2015-06-07T21:58:47+01:00</updated>
<published>2015-06-07T21:58:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=131212#p131212</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=131212#p131212"/>
<title type="html"><![CDATA[Re: Wysyłanie danych na hd44780 przez rs232]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=131212#p131212"><![CDATA[
Kolego na Atmega8 to działa bez problemu (Putty, Terminal V1.93b by Br@y++, bez znaczenia):<br /><br />rs232.c (rs232.h bez zmian, biblioteki Mirka podobno masz...)<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &quot;rs232.h&quot;<br />//#include &quot;hd44780.h&quot;<br />#include &quot;avr/pgmspace.h&quot;<br />#include &lt;stdlib.h&gt;<br />#include &lt;string.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/signal.h&gt;<br /><br />//---Inicjalizacja USART---//<br />void usart_init( unsigned int _UBRR ) //inicjalizacja USART<br />{<br />UBRRH = (unsigned char)(_UBRR&gt;&gt;8);<br />UBRRL = (unsigned char)_UBRR;<br />UCSRB = (1&lt;&lt;RXEN) | (1&lt;&lt;TXEN); //uaktywnienie nadawania i odbioru<br />UCSRC = (1&lt;&lt;URSEL)|(1&lt;&lt;UCSZ1)|(1&lt;&lt;UCSZ0); //format ramki: 8 bitĂłw danych, 1 bit stopu, brak bitu parzystoĹ›ci<br />sei();<br />/*<br /> * URSEL=1 korzystanie z rejestru UCSRS<br /> * UPM1=1  sprawdzenie parzystoĹ›ci even parity<br /> * 1&lt;&lt;URSEL - 1 bit stopu<br /> * (1&lt;&lt;UCSZ1)|(1&lt;&lt;UCSZ0) - 8 bitĂłw danych<br /> */<br />}<br /><br />//---WysyĹ‚anie pojedynczego znaku---//<br />void nadajznak(char dana1)<br />{<br />while(!(UCSRA&amp;(1&lt;&lt;UDRE))); //czekaj na wysĹ‚anie poprzedniej danej<br />UDR=dana1;<br />}<br /><br />//---WysyĹ‚anie caĹ‚ego napisu---//<br />void nadajstring(char *dana) //wysyĹ‚anie caĹ‚ego napisu<br />{<br />int dlugosc; //zmienna okreĹ›lajÄ…ca dĹ‚ugoĹ›Ä‡ napisu<br />int k=0; //zmienna licznikowa<br /><br />dlugosc=strlen(dana); //pobieranie dĹ‚ugoĹ›ci napisu<br /><br />for(k=0;k&lt;dlugosc;k++)<br />{<br />nadajznak(dana&#91;k&#93;); //wyĹ›lij pojedynczy znak<br />}<br />}<br /><br />//---OdbiĂłr pojedynczego znaku---//<br />uint8_t odbierz(void) //funkcja zwraca wartoĹ›Ä‡ w postaci zmiennej uint8_t<br />{<br />while(!(UCSRA&amp;(1&lt;&lt;RXC))); //dopĂłki bufor nie bÄ™dzie czysty<br />return UDR; //zwrĂłÄ‡ wartoĹ›Ä‡ funkcji<br />}[/syntax]<br /><br />main.c<br />[syntax=c]#include &lt;stdio.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;LCD/lcd44780.h&quot;<br />//#include &quot;MKUART/mkuart.h&quot;<br />#include &quot;rs232.h&quot;<br /><br /><br /><br /><br /><br /><br /><br /><br />int main (void){<br /><br />lcd_init();<br />lcd_bl(ON);<br />usart_init(MY_UBRR);<br />lcd_cls();<br />lcd_str(&quot;TEST2&quot;);<br />lcd_locate(1,0);<br /><br />nadajstring(&quot;test&quot;);<br /><br />while(1){<br />uint8_t znak = odbierz();<br />lcd_char(znak);<br />}<br /><br /><br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1363">eMCe2</a> — 7 cze 2015, o 21:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2015-06-07T21:24:27+01:00</updated>
<published>2015-06-07T21:24:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=131210#p131210</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=131210#p131210"/>
<title type="html"><![CDATA[Re: Wysyłanie danych na hd44780 przez rs232]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=131210#p131210"><![CDATA[
Używam Atmegi8. Jakiego terminala używasz? Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 7 cze 2015, o 21:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[eMCe2]]></name></author>
<updated>2015-06-07T19:12:33+01:00</updated>
<published>2015-06-07T19:12:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=131179#p131179</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=131179#p131179"/>
<title type="html"><![CDATA[Re: Wysyłanie danych na hd44780 przez rs232]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=131179#p131179"><![CDATA[
a powiedz jeszcze jakiego procka uzywasz?<br /><br />To co wrzuciłeś przeportowałem sobie na atmege 644p bo taka mam w ATB i działa bez problemu...<br /><br />[syntax=c]#include &lt;stdio.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;LCD/lcd44780.h&quot;<br />//#include &quot;MKUART/mkuart.h&quot;<br />#include &quot;rs232.h&quot;<br /><br /><br /><br /><br /><br /><br /><br /><br />int main (void){<br /><br />lcd_init();<br />lcd_bl(ON);<br />usart_init(MY_UBRR);<br />lcd_cls();<br />lcd_str(&quot;TEST&quot;);<br />lcd_locate(1,0);<br /><br />while(1){<br />uint8_t znak = odbierz();<br />lcd_char(znak);<br />}<br /><br /><br />}[/syntax]<br /><br />[syntax=c]#ifndef RS232_H_<br />#define RS232_H_<br /><br />#define UART_BAUD 9600 //staĹ‚a sĹ‚uĹĽÄ…ca do wyliczenia prÄ™dkoĹ›ci podaje siÄ™ tu wartoĹ›Ä‡ prÄ™dkoĹ›ci<br />#define MY_UBRR F_CPU/UART_BAUD/16-1 //staĹ‚a wykorzystujÄ…ca BAUD do wyliczenia  wartoĹ›ci MYUBRR ktĂłra trafia do rejestru<br /><br />void usart_init( uint16_t _UBRR );<br />void nadajznak(char dana1);<br />void nadajstring(char *dana1);<br />uint8_t odbierz(void);<br /><br />#endif /* RS232_H_ */[/syntax]<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &quot;rs232.h&quot;<br />//#include &quot;hd44780.h&quot;<br />#include &quot;avr/pgmspace.h&quot;<br />#include &lt;stdlib.h&gt;<br />#include &lt;string.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/signal.h&gt;<br /><br />//---Inicjalizacja USART---//<br />void usart_init( unsigned int _UBRR ) //inicjalizacja USART<br />{<br />UBRR0H = (unsigned char)(_UBRR&gt;&gt;8);<br />UBRR0L = (unsigned char)_UBRR;<br />UCSR0B = (1&lt;&lt;RXEN0) | (1&lt;&lt;TXEN0); //uaktywnienie nadawania i odbioru<br />UCSR0C = (1&lt;&lt;UCSZ01)|(1&lt;&lt;UCSZ00); //format ramki: 8 bitĂłw danych, 1 bit stopu, brak bitu parzystoĹ›ci<br />sei();<br />/*<br /> * URSEL=1 korzystanie z rejestru UCSRS<br /> * UPM1=1  sprawdzenie parzystoĹ›ci even parity<br /> * 1&lt;&lt;URSEL - 1 bit stopu<br /> * (1&lt;&lt;UCSZ1)|(1&lt;&lt;UCSZ0) - 8 bitĂłw danych<br /> */<br />}<br /><br />//---WysyĹ‚anie pojedynczego znaku---//<br />void nadajznak(char dana1)<br />{<br />while(!(UCSR0A&amp;(1&lt;&lt;UDRE0))); //czekaj na wysĹ‚anie poprzedniej danej<br />UDR0=dana1;<br />}<br /><br />//---WysyĹ‚anie caĹ‚ego napisu---//<br />void nadajstring(char *dana) //wysyĹ‚anie caĹ‚ego napisu<br />{<br />int dlugosc; //zmienna okreĹ›lajÄ…ca dĹ‚ugoĹ›Ä‡ napisu<br />int k=0; //zmienna licznikowa<br /><br />dlugosc=strlen(dana); //pobieranie dĹ‚ugoĹ›ci napisu<br /><br />for(k=0;k&lt;dlugosc;k++)<br />{<br />nadajznak(dana&#91;k&#93;); //wyĹ›lij pojedynczy znak<br />}<br />}<br /><br />//---OdbiĂłr pojedynczego znaku---//<br />uint8_t odbierz(void) //funkcja zwraca wartoĹ›Ä‡ w postaci zmiennej uint8_t<br />{<br />while(!(UCSR0A&amp;(1&lt;&lt;RXC0))); //dopĂłki bufor nie bÄ™dzie czysty<br />return UDR0; //zwrĂłÄ‡ wartoĹ›Ä‡ funkcji<br />}[/syntax]<br /><br />Tu jak widzisz zakomentowalem biblioteke hd44780.h bo takiej nie mam, a może to ona ci się gryzie z tą Mirka?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1363">eMCe2</a> — 7 cze 2015, o 19:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2015-06-07T18:56:37+01:00</updated>
<published>2015-06-07T18:56:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=131176#p131176</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=131176#p131176"/>
<title type="html"><![CDATA[Re: Wysyłanie danych na hd44780 przez rs232]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=131176#p131176"><![CDATA[
Jest ktoś wstanie mnie naprowadzić na właściwe tory?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 7 cze 2015, o 18:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2015-06-02T09:11:55+01:00</updated>
<published>2015-06-02T09:11:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=130673#p130673</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=130673#p130673"/>
<title type="html"><![CDATA[Re: Wysyłanie danych na hd44780 przez rs232]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=130673#p130673"><![CDATA[
Nie ma żadnych warningow. Zmienilem juz format na uint8_t. Wydaje mi się ze problem polega na tym że idbieram po jednym bicie i za kazdym razem wyswietlam. Wedlug mnie potrzebuje zapisac to do tablicy i potem to wyświetlić.  Ale męczę sie z tym strasznie i nie wiem czy tu leży problem<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 2 cze 2015, o 09:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[eMCe2]]></name></author>
<updated>2015-06-02T08:59:11+01:00</updated>
<published>2015-06-02T08:59:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=130672#p130672</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=130672#p130672"/>
<title type="html"><![CDATA[Re: Wysyłanie danych na hd44780 przez rs232]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=130672#p130672"><![CDATA[
A nie masz zadnych warningow? Po co zmienna odebrano jest uint64_t? Przeciez char nigdy nie bedzie wiekszy niz uint8_t... Obstawiam ze przez to funkcja lcd_char ma problem...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1363">eMCe2</a> — 2 cze 2015, o 08:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2015-06-01T21:27:39+01:00</updated>
<published>2015-06-01T21:27:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=130638#p130638</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=130638#p130638"/>
<title type="html"><![CDATA[Re: Wysyłanie danych na hd44780 przez rs232]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=130638#p130638"><![CDATA[
BB już niestety nie posiadam. Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 1 cze 2015, o 21:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Nondzu]]></name></author>
<updated>2015-06-01T20:51:42+01:00</updated>
<published>2015-06-01T20:51:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=130627#p130627</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=130627#p130627"/>
<title type="html"><![CDATA[Re: Wysyłanie danych na hd44780 przez rs232]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=130627#p130627"><![CDATA[
jeśli masz BB, no to tam masz opisane dokładnie jak odebrać znak, i najlepiej służy do tego przerwanie z uarta, przeczytaj ten rozdział jeszcze raz <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1672">Nondzu</a> — 1 cze 2015, o 20:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2015-06-01T20:48:45+01:00</updated>
<published>2015-06-01T20:48:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=130626#p130626</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=130626#p130626"/>
<title type="html"><![CDATA[Re: Wysyłanie danych na hd44780 przez rs232]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=130626#p130626"><![CDATA[
Korzystam z Herculesa, gdy wysyłam dane z atmegi na terminal wszystko jest ok. Prędkości są takie same. Wydaje mi się ze brakuje mi jakiegoś bufora ale nie wiem jak się za to zabrać.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 1 cze 2015, o 20:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Nondzu]]></name></author>
<updated>2015-06-01T20:46:06+01:00</updated>
<published>2015-06-01T20:46:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=130624#p130624</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=130624#p130624"/>
<title type="html"><![CDATA[Re: Wysyłanie danych na hd44780 przez rs232]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=130624#p130624"><![CDATA[
a w terminalu jaką ustawiłeś prędkość ? z jakiego terminala korzystasz ? te prędkości musza być takie same, w programie masz<br />[syntax=c]#define UART_BAUD 2400 //stała służąca do wyliczenia prędkości podaje się tu wartość prędkości[/syntax]<br /><br />wiec terminal musisz ustawić też na prędkość 2400 kbps<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1672">Nondzu</a> — 1 cze 2015, o 20:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mati7828]]></name></author>
<updated>2015-06-01T20:37:20+01:00</updated>
<published>2015-06-01T20:37:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=130619#p130619</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=130619#p130619"/>
<title type="html"><![CDATA[Wysyłanie danych na hd44780 przez rs232]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11872&amp;p=130619#p130619"><![CDATA[
Witam!<br />Chciałbym wysyłać jakieś znaki z terminala i wyświetlić je na wyświetlaczu 2x16. Niestety problem polega na tym że gdy wysyłam np. literę k na wyświetlają mi się jakieś cyfry 0000128000. Nie wiem gdzie jest błąd. Do obsługi wyświetlacza wykorzystuję bibliotekę Mirka z BB. Pozdrawiam<br /><br />Mój plik main.c<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &quot;rs232.h&quot;<br />#include &quot;hd44780.h&quot;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;stdio.h&gt;<br />#include &lt;stdlib.h&gt;<br /><br />int main(void)<br />{<br />usart_init(MY_UBRR);<br />lcd_init();<br />lcd_cls();<br /><br />while(1)<br />{<br />uint64_t odebrano;<br />odebrano=odbierz();<br />lcd_char(odebrano);<br /><br />}<br />}[/syntax]<br /><br />Pliki od rs232<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &quot;rs232.h&quot;<br />#include &quot;hd44780.h&quot;<br />#include &quot;avr/pgmspace.h&quot;<br />#include &lt;stdlib.h&gt;<br />#include &lt;string.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/signal.h&gt;<br /><br />//---Inicjalizacja USART---//<br />void usart_init( unsigned int _UBRR ) //inicjalizacja USART<br />{<br />UBRRH = (unsigned char)(_UBRR&gt;&gt;8);<br />UBRRL = (unsigned char)_UBRR;<br />UCSRB = (1&lt;&lt;RXEN) | (1&lt;&lt;TXEN); //uaktywnienie nadawania i odbioru<br />UCSRC = (1&lt;&lt;URSEL)|(1&lt;&lt;UCSZ1)|(1&lt;&lt;UCSZ0); //format ramki: 8 bitów danych, 1 bit stopu, brak bitu parzystości<br />sei();<br />/*<br /> * URSEL=1 korzystanie z rejestru UCSRS<br /> * UPM1=1  sprawdzenie parzystości even parity<br /> * 1&lt;&lt;URSEL - 1 bit stopu<br /> * (1&lt;&lt;UCSZ1)|(1&lt;&lt;UCSZ0) - 8 bitów danych<br /> */<br />}<br /><br />//---Wysyłanie pojedynczego znaku---//<br />void nadajznak(char dana1)<br />{<br />while(!(UCSRA&amp;(1&lt;&lt;UDRE))); //czekaj na wysłanie poprzedniej danej<br />UDR=dana1;<br />}<br /><br />//---Wysyłanie całego napisu---//<br />void nadajstring(char *dana) //wysyłanie całego napisu<br />{<br />int dlugosc; //zmienna określająca długość napisu<br />int k=0; //zmienna licznikowa<br /><br />dlugosc=strlen(dana); //pobieranie długości napisu<br /><br />for(k=0;k&lt;dlugosc;k++)<br />{<br />nadajznak(dana&#91;k&#93;); //wyślij pojedynczy znak<br />}<br />}<br /><br />//---Odbiór pojedynczego znaku---//<br />uint8_t odbierz(void) //funkcja zwraca wartość w postaci zmiennej uint8_t<br />{<br />while(!(UCSRA&amp;(1&lt;&lt;RXC))); //dopóki bufor nie będzie czysty<br />return UDR; //zwróć wartość funkcji<br />}[/syntax]<br /><br />[syntax=c]#ifndef RS232_H_<br />#define RS232_H_<br /><br />#define UART_BAUD 2400 //stała służąca do wyliczenia prędkości podaje się tu wartość prędkości<br />#define MY_UBRR F_CPU/UART_BAUD/16-1 //stała wykorzystująca BAUD do wyliczenia  wartości MYUBRR która trafia do rejestru<br /><br />void usart_init( uint16_t _UBRR );<br />void nadajznak(char dana1);<br />void nadajstring(char *dana1);<br />uint8_t odbierz(void);<br /><br />#endif /* RS232_H_ */[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3370">mati7828</a> — 1 cze 2015, o 20:37</p><hr />
]]></content>
</entry>
</feed>