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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-08-12T12:59:05+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=12570&amp;mode</id>
<entry>
<author><name><![CDATA[RafPe]]></name></author>
<updated>2015-08-12T12:59:05+01:00</updated>
<published>2015-08-12T12:59:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12570&amp;p=137106#p137106</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12570&amp;p=137106#p137106"/>
<title type="html"><![CDATA[Re: Tokeny struktury zapis odczyt]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12570&amp;p=137106#p137106"><![CDATA[
<div class="quotetitle">multitask napisał(a):</div><div class="quotecontent"><br />jak wysłać zapisaną wartość (tekst) w eeprom na uart ?<br /></div><br /><br />A to widziales ? <!-- m --><a class="postlink" href="https://www.youtube.com/watch?v=kLy20Znqi-U" >https://www.youtube.com/watch?v=kLy20Znqi-U</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4344">RafPe</a> — 12 sie 2015, o 12:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[QuadMan]]></name></author>
<updated>2015-08-11T00:29:20+01:00</updated>
<published>2015-08-11T00:29:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12570&amp;p=136989#p136989</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12570&amp;p=136989#p136989"/>
<title type="html"><![CDATA[Re: Tokeny struktury zapis odczyt]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12570&amp;p=136989#p136989"><![CDATA[
Witam ponownie,<br /><br />Napisałem Ci, że to jedynie szkic kodu, nie gotowe rozwiązanie. <br /><br />Mam nadzieję, że zadeklarowałeś bufory na stringi w pamięciach: RAM i EEPROM, i ustawiłeś wskaźniki elementów struktur na nie. Jeśli nie, to nie dziwota, że nic Ci nie działa. Musisz zadeklarować tablice:[syntax=c]char ram_buf&#91;20&#93;;<br />char eem_buf&#91;20&#93; EEMEM;[/syntax], a dodatkowo w main, przed pętlą główną ustawić wskaźniki na te bufory:<br />[syntax=c]ram_cfg.id = ram_buf; <br />eem_cfg.id = eem_buf;[/syntax]<br /><br /><span style="font-size: 85%; line-height: normal">Bo inaczej to będzie, parafrazując klasyka: <br />- Jasiu, do czego jest ten wskaźnik?<br />- Panie majster, ten wskaźnik jest do niczego.... </span><br /><br />P.S. Żeby nie było, absolutnie nie gwarantuję, że z tymi poprawkami kod będzie na pewno ok, bo nie mam pojęcia, jak wygląda reszta, wklej może całość tego co zrobiłeś ( oczywiście bez bibliotek Mirka ), to może ktoś się nad tym pochyli. <br /><br /><strong>W sumie, istotą tego, co napisałem w poprzednim poście, było uzmysłowienie Tobie, że jeśli porównujesz stringi i &quot;wyciągasz&quot; tokeny ze stringów, to najrozsądniej by było ten &quot;wyciągnięty <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" />&quot; string zapisać jako string właśnie ( nieistotne, że to akurat nr telefonu ), a nie liczbę. W przeciwnym wypadku musiałbyś dokonać konwersji tegoż stringa na liczbę  ( choćby za pomocą funkcji bibliotecznej atol( const char * str) ) i dopiero wtedy jako liczbę go zapisać. Uznałem, że skoro i tak chcesz to wyświetlać poprzez uart_puts(...), to prościej pozostać przy stringach, bez niepotrzebnych konwersji. </strong>  <br /><br />Pozdrawiam, QuadMan.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5291">QuadMan</a> — 11 sie 2015, o 00:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Bartek123]]></name></author>
<updated>2015-08-07T22:51:34+01:00</updated>
<published>2015-08-07T22:51:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12570&amp;p=136751#p136751</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12570&amp;p=136751#p136751"/>
<title type="html"><![CDATA[Re: Tokeny struktury zapis odczyt]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12570&amp;p=136751#p136751"><![CDATA[
Dzięki @RafPe <br />jak pisałem dopiero zaczynam także dziękuję za ten link na przyszłość będę pamiętał.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10617">Bartek123</a> — 7 sie 2015, o 22:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[RafPe]]></name></author>
<updated>2015-08-07T22:08:05+01:00</updated>
<published>2015-08-07T22:08:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12570&amp;p=136748#p136748</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12570&amp;p=136748#p136748"/>
<title type="html"><![CDATA[Re: Tokeny struktury zapis odczyt]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12570&amp;p=136748#p136748"><![CDATA[
@Quad : ale mnie ubiegles z tym rzutowaniem <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> <br /><br />Tutaj wklejalem juz w pelni fukncjonalny kod do obslugi struktur w eeprom <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic12510.html#p136187" >topic12510.html#p136187</a><!-- l --> <br /><br /><br /><div class="quotetitle">Bartek123 napisał(a):</div><div class="quotecontent"><br />ale struktury nie są chyba po to aby wkładać do nich tylko jedną zmienną.<br /></div><br /><br />Zobacz sobie tutaj - kolega Morkowski wyjasnia troszke <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic12510.html#p136200" >topic12510.html#p136200</a><!-- l --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4344">RafPe</a> — 7 sie 2015, o 22:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[QuadMan]]></name></author>
<updated>2015-08-07T22:05:03+01:00</updated>
<published>2015-08-07T22:05:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12570&amp;p=136747#p136747</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12570&amp;p=136747#p136747"/>
<title type="html"><![CDATA[Re: Tokeny struktury zapis odczyt]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12570&amp;p=136747#p136747"><![CDATA[
Witam,<br /><br />zacznę może od końca. Jeśli drugi raz uruchomisz kompilację projektu, w którym nic nie zmieniłeś, warningi znikają, to tak w uproszczeniu. Kol. <strong>mokrowski</strong> kiedyś to dokładnie wyjaśnił, poszukaj na forum.<br /><br />Po drugie, masz tu poplątanie z pomieszaniem, chyba nie do końca łapię, co chciałeś osiągnąć <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":-(" title="Smutny" />. No w każdym razie, zapis:[syntax=c]uint64_t id = (wsk);[/syntax] nie ma sensu, przy założeniu, że chcesz do tego id zapisać wskaźnik na stringa, przypisujesz do zmiennej uint64_t wskaźnik, stąd:<br /><br /><span style="font-size: 85%; line-height: normal">Warning 1 initialization makes integer from pointer without a cast [enabled by default]</span><br /><br /> Jak wyglądają funkcje Mirka do zapisu do EEPROMA, w tej chwili nie pamiętam, więc nie będę o tym pisał, coby głupot nie napisać <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" />. Pomysł ze strukturami ok, ale w tym wypadku najlepiej też w nich przechowywać stringi ( oczywiście, przy założeniu, że będą w nich jeszcze inne dane).<br />Poniżej wklejam szkic kodu, jak najprościej to zrobić, wzorując się na tym, co wcześniej zamieściłeś. Zakomentowałem wywołanie funkcji wdt_reset() i copy_ram_emm(), abym mógł go skompilować. [syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include&lt;avr/eeprom.h&gt;<br />#include&lt;string.h&gt;<br /><br />char buf&#91;100&#93;;<br /><br />typedef struct {<br />char*  id;// Wskażnik na stringa, w tej chwili jedyny element struktury<br />} TCFG;<br /><br />const TCFG  pgm_cfg PROGMEM ={&quot;99999999&quot;};<br />TCFG ram_cfg;<br />TCFG eem_cfg EEMEM;<br /><br />void uart_puts(char* str);<br />void  analizuj_dane_id( char*buf );<br />void  id_send (void);<br /><br />int main (void)<br />{<br />while(1)<br />{<br />// Pętla główna programu<br />}<br /><br />}<br /><br /><br /><br />void  analizuj_dane_id( char*buf )<br />{<br /><br />         char* wsk;<br />         wsk=strtok(buf,&quot;+&quot;);<br />         wsk = strtok(NULL,&quot;\&quot;&quot;);<br />         ram_cfg.id = (wsk);<br />        // uartputs (wsk);  tu mi pokazuje zawartość tokena czyli wszystko po &quot;+&quot; do napotkania zera<br />   //      copy_ram_emm();<br /><br /><br />         if  (!strcmp(buf, &quot;OK&quot;))<br /><br />                {<br /><br />    //                    wdt_reset();<br />                }<br />}<br /><br /><br />void id_send (void)<br />{<br /><br /><br />         if  (!strcmp(buf, &quot;id&quot;))<br />         {<br />                   // i tutaj chciałem właśnie przywołać zmienną uint64_t id ze struktury<br />                  //i jej zawartość wysłać na UART<br />          uart_puts(ram_cfg.id);// Tak po prostu.<br />         }<br />}<br /><br />void uart_puts(char* str)<br />{<br />// To jest funkcja do wysyłanai stringa na UART<br />}[/syntax]<br /><br />Pozdrawiam, QuadMan.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5291">QuadMan</a> — 7 sie 2015, o 22:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Bartek123]]></name></author>
<updated>2015-08-07T21:37:19+01:00</updated>
<published>2015-08-07T21:37:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12570&amp;p=136742#p136742</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12570&amp;p=136742#p136742"/>
<title type="html"><![CDATA[Re: Tokeny struktury zapis odczyt]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12570&amp;p=136742#p136742"><![CDATA[
Jestem osobą początkującą dlatego nie traktuj tego jako pewnik, ale struktury nie są chyba po to aby wkładać do nich tylko jedną zmienną.<br /><br />Jeszcze nie przerabiałem uart'u dlatego średnio wiem, ale jeśli chcesz przekazać zmienną z struktury która jest w pamięci eeprom do funkcji to chyba robisz tak:<br /><br />jakaś_funkcja(eeprom_read_byte(&amp;eem_cfg.id))<br /><br />a jeśli chcesz coś zapisać do tej zmiennej to robisz tak:<br /><br />eeprom_write_byte(&amp;eem_cfg.id, 11)<br /><br />teraz w zmiennej id będzie liczba 11;<br /><br />2 warning oznacza, że nie wykorzystałeś tej zmiennej nigdzie w programie czyli nie odczytałeś zawartość lub nie zapisałeś nic do niej.<br /><br />jak zapisywać i odczytywać zmienne z różnych pamięci masz przykład w bluebook'u w dziale o pisaniu biblioteki do lcd ze sterownikiem hd44780.<br /><br />jeśli chodzi o ten znak '&amp;' to odsyłam do bluebook'a na stronę:105<br /><br />Jeśli wprowadziłem kogoś w błąd to proszę o poprawienie mnie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10617">Bartek123</a> — 7 sie 2015, o 21:37</p><hr />
]]></content>
</entry>
</feed>