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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-01-13T21:48:52+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=1437&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-01-13T21:48:52+01:00</updated>
<published>2013-01-13T21:48:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=24698#p24698</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=24698#p24698"/>
<title type="html"><![CDATA[Re: PROBLEM Z FUNKCJĄ LCD Z KSIĄŻKI]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=24698#p24698"><![CDATA[
<div class="quotetitle">wahuu napisał(a):</div><div class="quotecontent"><br />Mam pytanie odnośnie odczytywania stringów z pamięci.<br /><br />Jaka jest różnica czy wyświetlam na lcd napisy z pamięci RAM, Flash czy EPROM?<br /></div><br /><br />a powiedz mi - czytałeś dokładnie rozdział o multipleksowaniu wyświetlaczy LED ? nie na darmo o to pytam ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 13 sty 2013, o 21:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wahuu]]></name></author>
<updated>2013-01-13T20:49:06+01:00</updated>
<published>2013-01-13T20:49:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=24693#p24693</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=24693#p24693"/>
<title type="html"><![CDATA[Re: PROBLEM Z FUNKCJĄ LCD Z KSIĄŻKI]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=24693#p24693"><![CDATA[
Mam pytanie odnośnie odczytywania stringów z pamięci.<br /><br />Jaka jest różnica czy wyświetlam na lcd napisy z pamięci RAM, Flash czy EPROM?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=807">wahuu</a> — 13 sty 2013, o 20:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[worner]]></name></author>
<updated>2012-11-20T11:27:45+01:00</updated>
<published>2012-11-20T11:27:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=19175#p19175</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=19175#p19175"/>
<title type="html"><![CDATA[Re: PROBLEM Z FUNKCJĄ LCD Z KSIĄŻKI]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=19175#p19175"><![CDATA[
<div class="quotetitle">rezasurmar napisał(a):</div><div class="quotecontent"><br />Aaaaaa dobra, ale żem tempy <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />. To jest tak jak człowiek nigdy czegoś nie używał, to potem nie wie gdzie nawet zajrzeć <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />.<br /><br />PS. jest możliwość by raz nagrać EEPROMA, a potem przy każdej kompilacji już nie był kasowany i nagrywany ???,<br /></div><br /><br />Nie jesteś odosobnionym przypadkiem  <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /> <br />Na szczęście, po 30 minutach sprawdzania, dlaczego napisy z pamięci Flash dają się wyświetlić, a z EEPROM nie, zajrzałem tam przypomniawszy sobie, że już kiedyś ktoś podpowiadał, że trzeba to zaznaczyć w Eclipsie. I poszło. Ale zagwozdka była, przyznaję.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=150">worner</a> — 20 lis 2012, o 11:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2012-11-20T08:00:39+01:00</updated>
<published>2012-11-20T08:00:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=19173#p19173</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=19173#p19173"/>
<title type="html"><![CDATA[Re: PROBLEM Z FUNKCJĄ LCD Z KSIĄŻKI]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=19173#p19173"><![CDATA[
O i to jest świetna porada, pokazać gdzie szukać, a nie podawać na tacy <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" />, dzięki. Zapomniałem o takiej możliwości 51' znałem od podszewki, AVRy trochę gorzej <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />.<p>Statystyki: Napisane przez Gość — 20 lis 2012, o 08:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2012-11-19T14:12:24+01:00</updated>
<published>2012-11-19T14:12:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=19129#p19129</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=19129#p19129"/>
<title type="html"><![CDATA[Re: PROBLEM Z FUNKCJĄ LCD Z KSIĄŻKI]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=19129#p19129"><![CDATA[
Aaaaaa dobra, ale żem tempy <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />. To jest tak jak człowiek nigdy czegoś nie używał, to potem nie wie gdzie nawet zajrzeć <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" />.<br /><br />PS. jest możliwość by raz nagrać EEPROMA, a potem przy każdej kompilacji już nie był kasowany i nagrywany ???,<p>Statystyki: Napisane przez Gość — 19 lis 2012, o 14:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-11-19T14:11:21+01:00</updated>
<published>2012-11-19T14:11:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=19128#p19128</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=19128#p19128"/>
<title type="html"><![CDATA[Re: PROBLEM Z FUNKCJĄ LCD Z KSIĄŻKI]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=19128#p19128"><![CDATA[
a zaznaczyłeś pan w Eclipse żeby wgrał ci do pamięci EEPROM zdefiniowane zmienne ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> bo jeśli nie to się nic nie pojawi i tak ma być <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> — 19 lis 2012, o 14:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2012-11-19T14:12:00+01:00</updated>
<published>2012-11-19T14:10:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=19126#p19126</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=19126#p19126"/>
<title type="html"><![CDATA[Re: PROBLEM Z FUNKCJĄ LCD Z KSIĄŻKI]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=19126#p19126"><![CDATA[
To dziwne, bo po napisach ani śladu<br /><br />[syntax=c]<br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;avr/eeprom.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &quot;LCD/lcd44780.h&quot;<br /><br /><br />// ********************************************************* 1-sza wersja<br /><br />// poniższą linijkę czasami trzeba wpisać w eclipse przed definicjami<br />// zmiennych w pamięci EEPROM, żeby nie podkreślał składni jako błędnej<br />char psy[] EEMEM = &quot;Psiarnia&quot;;<br />char kurnik[] EEMEM = &quot;Kurnik&quot;;<br />char koza[] EEMEM = &quot;Koza&quot;;<br />char piec[] EEMEM = &quot;Piec&quot;;<br />char piwnica[] EEMEM = &quot;Piwnica&quot;;<br /><br /><br />int main(void)<br />{<br />DDRA |= (1&lt;&lt;PA7);<br />PORTA |= (1&lt;&lt;PA7); // podswietlenie wyswietlacza chwilowo na stale<br /><br />lcd_init();<br />lcd_cls();<br /><br /><br />while(1){<br /><br /><br />char znak=('A');<br />lcd_str_E(psy);<br />lcd_str_E(kurnik);<br />lcd_char(znak);<br />_delay_ms(1000);<br />}<br /><br />}<br />[/syntax]<br /><br />a się pojawia, bez żadnych przerw jednym ciągiem, tak jak by lcd_str_E w ogóle nie następował....hmmmm<br /><br />specjalnie napisałem tylko taki krótki programik by wyeliminować inne błędy. Oczywiście biblioteki bez zmian tak jak je pan bóg, znaczy się Mirek umieścił na DVD (z erraty).<p>Statystyki: Napisane przez Gość — 19 lis 2012, o 14:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-11-19T13:53:30+01:00</updated>
<published>2012-11-19T13:53:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=19123#p19123</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=19123#p19123"/>
<title type="html"><![CDATA[Re: PROBLEM Z FUNKCJĄ LCD Z KSIĄŻKI]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=19123#p19123"><![CDATA[
No tak trzeba właśnie użyć <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> — 19 lis 2012, o 13:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2012-11-19T13:44:22+01:00</updated>
<published>2012-11-19T13:44:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=19121#p19121</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=19121#p19121"/>
<title type="html"><![CDATA[Re: PROBLEM Z FUNKCJĄ LCD Z KSIĄŻKI]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=19121#p19121"><![CDATA[
Mam &quot;głupie&quot; pytanie na które nie umiem znaleźć odpowiedzi związane z funkcją lcd_str_E();<br /><br />Stworzyłem sobie tablice napisów w EEPROM (by można je potem edytować z poziomu np. menu w programie)<br /><br />[syntax=c]<br />char psy[] EEMEM = &quot;Psiarnia&quot;;<br />char kurnik[] EEMEM = &quot;Kurnik&quot;;<br />char koza[] EEMEM = &quot;Koza&quot;;<br />char piec[] EEMEM = &quot;Piec&quot;;<br />char piwnica[] EEMEM = &quot;Piwnica&quot;;<br />[/syntax]<br /><br />teraz chcę wyświetlić na LCD napis np. Psiarnia<br /><br />i z tego co wywnioskowałem analizując funkcję lcd_str_E<br />wystarczy, że wywołam ją <br />[syntax=c]<br />lcd_str_E(psy);[/syntax]<br /><br />czy trzeba jakoś inaczej ją wywołać?<p>Statystyki: Napisane przez Gość — 19 lis 2012, o 13:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kidcowboy]]></name></author>
<updated>2012-08-20T14:57:09+01:00</updated>
<published>2012-08-20T14:57:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=13096#p13096</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=13096#p13096"/>
<title type="html"><![CDATA[Re: PROBLEM Z FUNKCJĄ LCD Z KSIĄŻKI]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=13096#p13096"><![CDATA[
<img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> Dzięki za pomoc, wracam do studiowania materiału !!!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=313">kidcowboy</a> — 20 sie 2012, o 14:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-08-20T14:43:26+01:00</updated>
<published>2012-08-20T14:43:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=13095#p13095</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=13095#p13095"/>
<title type="html"><![CDATA[Re: PROBLEM Z FUNKCJĄ LCD Z KSIĄŻKI]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=13095#p13095"><![CDATA[
Pamięć EEPROM gdy jest skasowana to wypełniona jest bajtami o wartości 0xFF a nie 0x00. Dlatego żeby nie nastąpił błąd podczas sprawdzania końca C-Stringa, który musi być zakończony zerem - potraktujemy w tym warunku 0xff tak jak byłoby to zero, czyli zakończy się odczytywanie łańcucha obojętnie czy natrafimy na zero<br /><br />!znak<br /><br />lub gdy natrafimy na 0xff<br /><br />znak==0xFF<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 20 sie 2012, o 14:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kidcowboy]]></name></author>
<updated>2012-08-20T14:32:32+01:00</updated>
<published>2012-08-20T14:32:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=13094#p13094</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=13094#p13094"/>
<title type="html"><![CDATA[Re: PROBLEM Z FUNKCJĄ LCD Z KSIĄŻKI]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=13094#p13094"><![CDATA[
OK Krauser, chyba zakumałem chodzi o to że takie wywołanie funkcji dla epprom spowoduje że zamiast char którego nie rozumie - po prostu odczyta znak w ASCII. <br />Pozostaje jeszcze kwestia warunku :<br /><br />[syntax=c]if(!znak || znak==0xFF) break;// 0xFF potraktujemy jako 0 w pamieci EEPROM[/syntax]<br /><br />Rozumiem że przerwie wykonywanie while () ale nie rozumiem jak ten warunek jest sprawdzany <br /><br />P.S. Krauser dzięki za pomoc<br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Jest to spowodowane tym, że funkcje się dosyć mocno różnią. Są zupełnie inaczej interpretowane przez kompilator. eeprom_read_byte przyjmuje uint8_t, a pgm_read_byte na typie uint16_t. Jest to jeszcze bardziej zagmatwane i lepiej się w to nie wgłębiać, tylko korzystać <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /></div><br />Sorry ale to nie jest metoda- oczywiście dziękuję za zainteresowanie. Polecam przeczytać to co napisał Krauser i dodatkowo to -&gt; <!-- m --><a class="postlink" href="http://www.nongnu.org/avr-libc/user-manual/group__avr__pgmspace.html" >http://www.nongnu.org/avr-libc/user-man ... space.html</a><!-- m --><br />Lepiej coś raz zrozumieć i wiedzieć jak działa niż stosować bezwiednie - bo potem są problemy - wiem z doświadczenia<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=313">kidcowboy</a> — 20 sie 2012, o 14:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2012-08-20T14:19:32+01:00</updated>
<published>2012-08-20T14:19:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=13092#p13092</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=13092#p13092"/>
<title type="html"><![CDATA[Re: PROBLEM Z FUNKCJĄ LCD Z KSIĄŻKI]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=13092#p13092"><![CDATA[
Tutaj znajdziesz wszystkie funkcje: <!-- m --><a class="postlink" href="http://www.nongnu.org/avr-libc/" >http://www.nongnu.org/avr-libc/</a><!-- m --><br />Spójrz na prototyp funkcji <em>eeprom_read_byte</em> tutaj: <!-- m --><a class="postlink" href="http://nongnu.org/avr-libc/user-manual/group__avr__eeprom.html" >http://nongnu.org/avr-libc/user-manual/ ... eprom.html</a><!-- m --> <br />Rzutowanie wykonuje się, aby kompilator nie ostrzegał przed różnicą pomiędzy typem argumentów formalnych - jak w prototypie funkcji, a aktualnych - użytych podczas wywołania funkcji. Jak wykonasz rzutowanie to kompilator domyśli się, że wiesz co robisz i nie upomni cię że coś może być nie tak.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 20 sie 2012, o 14:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kidcowboy]]></name></author>
<updated>2012-08-20T12:44:37+01:00</updated>
<published>2012-08-20T12:44:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=13087#p13087</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=13087#p13087"/>
<title type="html"><![CDATA[PROBLEM Z FUNKCJĄ LCD Z KSIĄŻKI]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1437&amp;p=13087#p13087"><![CDATA[
1.) Witam, nie za bardzo rozumiem skąd wynikają różnice podczas wyświetlania znaków z pamięci Flash i EEPROM (str 218) .<br />2.) Czemu w zapisie z EEPROM dokonano rzutowania wskaźnika *str (z char) na (uint_8t) ??<br /><br />[syntax=c]<br /><br />#if USE_LCD_STR_P == 1<br />//----------------------------------------------------------------------------------------<br />//<br />// Wysłanie stringa do wyświetlacza LCD z pamięci FLASH<br />//<br />// 8 własnych znaków zdefiniowanych w CGRAM<br />// wysyłamy za pomocą kodów 0x80 do 0x87 zamiast 0x00 do 0x07<br />//<br />//----------------------------------------------------------------------------------------<br />void lcd_str_P(char * str)<br />{<br />register char znak;<br />while ( (znak=pgm_read_byte(str++)) )<br />lcd_write_data( ( (znak&gt;=0x80) &amp;&amp; (znak&lt;=0x87) ) ? (znak &amp; 0x07) : znak);<br />}<br />#endif<br /><br /><br />#if USE_LCD_STR_E == 1<br />//----------------------------------------------------------------------------------------<br />//<br />// Wysłanie stringa do wyświetlacza LCD z pamięci EEPROM<br />//<br />// 8 własnych znaków zdefiniowanych w CGRAM<br />// wysyłamy za pomocą kodów 0x80 do 0x87 zamiast 0x00 do 0x07<br />//<br />//----------------------------------------------------------------------------------------<br />void lcd_str_E(char * str)<br />{<br />register char znak;<br />while(1)<br />{<br />znak=eeprom_read_byte( (uint8_t *)(str++) );<br />if(!znak || znak==0xFF) break;<br />else lcd_write_data( ( (znak&gt;=0x80) &amp;&amp; (znak&lt;=0x87) ) ? (znak &amp; 0x07) : znak);<br />}<br />}<br />#endif<br /><br />[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=313">kidcowboy</a> — 20 sie 2012, o 12:44</p><hr />
]]></content>
</entry>
</feed>