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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-03-08T22:57:48+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=10826&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2015-03-08T22:57:48+01:00</updated>
<published>2015-03-08T22:57:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10826&amp;p=122698#p122698</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10826&amp;p=122698#p122698"/>
<title type="html"><![CDATA[Re: Tablica struktur - Zapis do EEPROM.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10826&amp;p=122698#p122698"><![CDATA[
<div class="quotetitle">mokrowski napisał(a):</div><div class="quotecontent"><br />im szybciej przy tego typu problemach porzucisz ułatwienia Arduino<br /></div><br />Amen <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 8 mar 2015, o 22:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[adi19887]]></name></author>
<updated>2015-03-08T13:22:07+01:00</updated>
<published>2015-03-08T13:22:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10826&amp;p=122561#p122561</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10826&amp;p=122561#p122561"/>
<title type="html"><![CDATA[Re: Tablica struktur - Zapis do EEPROM.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10826&amp;p=122561#p122561"><![CDATA[
Dla potomnych:<br /><br />Wiem, że pomieszałem style (Arduino, C) i źle zrobiłem. Dzięki pomocy kolegi Mokrowskiego znalazłem odpowiedź. Napisane w C:<br />[syntax=c]typedef struct<br />{<br />uint8_t temp_min;<br />uint8_t temp_max;<br />}Extrema;<br /><br /><br />Extrema extrema&#91;5&#93;;// Tablica struktur do przetrzymywania temp max- min<br />Extrema extrema_eemem&#91;5&#93; EEMEM; //Tablica struktur w eeprom[/syntax]<br />Zapisane w ten sposób (kluczowy jest tutaj 3 argument tych funkcji !<br />[syntax=c]void copy_eem_to_ram (void) {<br />eeprom_read_block(&amp;extrema,&amp;extrema_eemem,sizeof(extrema)/sizeof(uint8_t));<br />}<br /><br />void copy_ram_to_eem (void) {<br />eeprom_write_block(&amp;extrema,&amp;extrema_eemem,sizeof(extrema)/sizeof(uint8_t));<br /><br />}[/syntax]<br /><br />Pozdrawiam.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2079">adi19887</a> — 8 mar 2015, o 13:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[adi19887]]></name></author>
<updated>2015-02-26T17:31:47+01:00</updated>
<published>2015-02-26T17:31:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10826&amp;p=121055#p121055</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10826&amp;p=121055#p121055"/>
<title type="html"><![CDATA[Tablica struktur - Zapis do EEPROM.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10826&amp;p=121055#p121055"><![CDATA[
Witam serdecznie,<br /><br />Drodzy koledzy ! Jakiś czas zastanawiam się jak zrobić zapis tablicy złożonej ze struktur (obiektów z jednej struktury) do pamięci eeprom Atmegi2560. Znalazłem kilka tematów na tym forum, które rzeczowo opowiadają nt. zapisu do eeprom jednak w 99% były to próby zapisania jedynie pojedynczego obiektu - co mnie się tez udało, mnie zależy jednak na zapisie np. 10 obiektow. Znalazłem kawałek kodu napisanego przez kolegę Sunriver-a, w którymś z tematów nt. EEPROMU zastosowałem je w ten sposób:<br />[syntax=c]//Funkcje SunRiver-a<br />void WriteStructureToEeprom(Pomiar a){<br />   eeprom_write_block((const void*)&amp;a, (void*)&amp;pomiar_eeprom, sizeof(Pomiar));<br />   /*Parametry:<br />    * 1. wskaznik na blok do przekazania,<br />    * 2. wskaznik na miejsce w pamieci eeprom,<br />    * 3. wielkosc struktury<br />    */<br />}<br />//Tutaj moja &quot;modyfikacja&quot; dodałem licznik i pewnie zle<br />Pomiar ReadStructureFromEeprom(int i){<br />   Pomiar temp;<br />   eeprom_read_block((void*)&amp;temp, (const void*)&amp;pomiar_eeprom&#91;i&#93;, sizeof(Pomiar));<br />   return(temp);<br />}<br />//Moja struktura<br />typedef struct{<br />uint8_t dana;<br />}Pomiar;<br /><br />Pomiar pomiar&#91;10&#93;;<br />Pomiar temp;<br />Pomiar pomiar_eeprom&#91;10&#93; EEMEM;<br /><br />//Moj sposob na wykorzystanie:<br />Serial.println(&quot;Zapisuje strukturę do EEPROM&quot;);<br />for(int i =0; i&lt;10;i++)<br />{<br />temp = pomiar&#91;i&#93;;<br />WriteStructureToEeprom(temp);<br />}<br />Serial.println(&quot;Wypisuję probki z EEPROM&quot;);<br />for(int i =0; i&lt;10;i++)<br />{<br /><br />pomiar&#91;i&#93; = ReadStructureFromEeprom(i+1);<br />Serial.println(pomiar_eeprom&#91;i&#93;.dana);<br />}[/syntax]<br /><br />Dodałem zmienną i jako parametr funkcji w nadziei, że w ten sposób coś uda się zrobić i ku mojemu wielkiemu zaskoczeniu...Cos działa <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" />. Konsola wypluwa mi takie wartości:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">Zapisuje probki do tablicy w RAM<br />Zapisuje strukturę do EEPROM<br />Wypisuję probki z EEPROM<br /><br />255<br />0<br />2<br />3<br />4<br />5<br />6<br />1<br />0<br />0</div><br /><br />Wcześniej zapełniłem te struktury (dokładniej zmienną dana) wartościami od 0 do 9 (odpowiadającymi ilości obiektów ze struktury). Jak widać wypisuje wartości ale bardziej losowo niz uporządkowanie. Tutaj moje pytanie: Co robię źle i gdzie źle myślę. Prosze o pomoc.<br /><br />Czy nikt nie spotkał się z tym problemem ? Moje próby nadal nie spotkały dobrego rozwiązania dlatego ponawiam prośbę o pomoc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2079">adi19887</a> — 26 lut 2015, o 17:31</p><hr />
]]></content>
</entry>
</feed>