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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-03-01T10:31:47+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=1591&amp;mode</id>
<entry>
<author><name><![CDATA[matej1410]]></name></author>
<updated>2017-03-01T10:31:47+01:00</updated>
<published>2017-03-01T10:31:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183825#p183825</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183825#p183825"/>
<title type="html"><![CDATA[Re: Atmega 8 + zapis do EEPROM = przypadkowe wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183825#p183825"><![CDATA[
Na żywym wszystko działa jak natura chciała <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Dziękuję za pomoc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1912">matej1410</a> — 1 mar 2017, o 10:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matej1410]]></name></author>
<updated>2017-02-27T18:05:51+01:00</updated>
<published>2017-02-27T18:05:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183687#p183687</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183687#p183687"/>
<title type="html"><![CDATA[Re: Atmega 8 + zapis do EEPROM = przypadkowe wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183687#p183687"><![CDATA[
zaraz będę działał na żywym. Dam znać co i jak.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1912">matej1410</a> — 27 lut 2017, o 18:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[HomoChemicus]]></name></author>
<updated>2017-02-27T17:31:17+01:00</updated>
<published>2017-02-27T17:31:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183685#p183685</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183685#p183685"/>
<title type="html"><![CDATA[Re: Atmega 8 + zapis do EEPROM = przypadkowe wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183685#p183685"><![CDATA[
A próbowałeś na żywym organizmie?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10470">HomoChemicus</a> — 27 lut 2017, o 17:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matej1410]]></name></author>
<updated>2017-02-27T15:21:31+01:00</updated>
<published>2017-02-27T15:21:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183667#p183667</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183667#p183667"/>
<title type="html"><![CDATA[Re: Atmega 8 + zapis do EEPROM = przypadkowe wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183667#p183667"><![CDATA[
Próbowałem odpalić jeszcze trzeci kod:<br />[syntax=c]#include &lt;avr/eeprom.h&gt;<br />#include &lt;avr/io.h&gt;<br /><br /><br />#define EEPROM __attribute__((section(&quot;.eeprom&quot;)))<br /><br />typedef struct {<br />int VarInt1;<br />char Array1&#91;8&#93;;<br />} struct_eepvar;<br /><br />struct_eepvar EEPROM Ep;  // declare EEPROM variable<br /><br /><br /><br />int main(void)<br />{<br />char VarArr&#91;8&#93; = {0,1,2,3,4,5,6,7};<br />int var1 = 2;<br /><br />eeprom_write_block(VarArr, Ep.Array1, sizeof VarArr&#91;8&#93;); //write 8byte<br />}[/syntax]<br /><br />i dalej to samo. Już wrzucam kod prosto z internetu z jakiegoś forum na żywca. Przecież to musi działać. Jakie licho?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1912">matej1410</a> — 27 lut 2017, o 15:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matej1410]]></name></author>
<updated>2017-02-26T21:37:54+01:00</updated>
<published>2017-02-26T21:37:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183616#p183616</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183616#p183616"/>
<title type="html"><![CDATA[Re: Atmega 8 + zapis do EEPROM = przypadkowe wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183616#p183616"><![CDATA[
nic to nie zmieniło<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1912">matej1410</a> — 26 lut 2017, o 21:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[HomoChemicus]]></name></author>
<updated>2017-02-26T19:11:09+01:00</updated>
<published>2017-02-26T19:11:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183600#p183600</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183600#p183600"/>
<title type="html"><![CDATA[Re: Atmega 8 + zapis do EEPROM = przypadkowe wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183600#p183600"><![CDATA[
A gdy do sizeof dasz np mystructure?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10470">HomoChemicus</a> — 26 lut 2017, o 19:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matej1410]]></name></author>
<updated>2017-02-26T17:47:03+01:00</updated>
<published>2017-02-26T17:47:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183595#p183595</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183595#p183595"/>
<title type="html"><![CDATA[Re: Atmega 8 + zapis do EEPROM = przypadkowe wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183595#p183595"><![CDATA[
[syntax=c]#include &lt;avr/eeprom.h&gt;<br />#include &lt;avr/io.h&gt;<br /><br />typedef struct SStructure{<br />int8_t varintbyte;<br />int16_t varintword;<br />double vardouble;<br />}ST;<br /><br />ST EEMEM EEStruct;<br />ST mystructure;<br /><br /><br /><br />int main(void)<br />{<br />        mystructure.varintbyte=1;<br />mystructure.varintword=2;<br />mystructure.vardouble=3;<br />eeprom_write_block(&amp;mystructure,&amp;EEStruct, sizeof(ST));<br />}[/syntax]<br /><br />Gdy z kolei kompiluje ten (wyżej) kod to pierwsza zmienna zapisuje się do pierwszej komórki pamięci EEPROM ale tylko ta pierwsza natomiast pozostałe już nie:<br /><br /><a href="https://obrazkiforum.atnel.pl/1912/1fea4d19ee595a5c16fb8f5c33297e4c.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/1912/1fea4d19ee595a5c16fb8f5c33297e4c.jpg" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1912">matej1410</a> — 26 lut 2017, o 17:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matej1410]]></name></author>
<updated>2017-02-26T14:39:44+01:00</updated>
<published>2017-02-26T14:39:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183576#p183576</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183576#p183576"/>
<title type="html"><![CDATA[Re: Atmega 8 + zapis do EEPROM = przypadkowe wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183576#p183576"><![CDATA[
Symuluję w Atmel Studio.<br /><a href="https://obrazkiforum.atnel.pl/1912/9f1738229dbb59e2e05ce0ede9e28d89.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/1912/9f1738229dbb59e2e05ce0ede9e28d89.jpg" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1912">matej1410</a> — 26 lut 2017, o 14:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[HomoChemicus]]></name></author>
<updated>2017-02-26T14:35:30+01:00</updated>
<published>2017-02-26T14:35:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183575#p183575</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183575#p183575"/>
<title type="html"><![CDATA[Re: Atmega 8 + zapis do EEPROM = przypadkowe wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183575#p183575"><![CDATA[
Czym sprawdzasz zawartość eeprom?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10470">HomoChemicus</a> — 26 lut 2017, o 14:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matej1410]]></name></author>
<updated>2017-02-26T14:23:47+01:00</updated>
<published>2017-02-26T14:23:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183573#p183573</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183573#p183573"/>
<title type="html"><![CDATA[Re: Atmega 8 + zapis do EEPROM = przypadkowe wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183573#p183573"><![CDATA[
Ok, zmieniłem kolejność i teraz nic nie zapisuje się do EEPROM. Wszystkie komórki pamięci przyjmują wartość 0xFF.<br /><br />[syntax=c]#include &lt;avr/eeprom.h&gt;<br />#include &lt;avr/io.h&gt;<br /><br />typedef struct {<br />uint8_t t1;<br />uint8_t t2;<br />uint8_t g1;<br />} DANE;<br /><br />DANE zmienne_eeprom EEMEM;  // definicja struktury w eeprom<br />DANE zmienne_ram;// definicja struktury w ram<br /><br /><br />int main(void)<br />{<br />zmienne_eeprom.t1=1;<br />zmienne_eeprom.t2=2;<br />zmienne_eeprom.g1=3;<br />eeprom_write_block( &amp;zmienne_ram,&amp;zmienne_eeprom, sizeof(DANE) );<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1912">matej1410</a> — 26 lut 2017, o 14:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[HomoChemicus]]></name></author>
<updated>2017-02-26T14:01:37+01:00</updated>
<published>2017-02-26T14:01:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183572#p183572</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183572#p183572"/>
<title type="html"><![CDATA[Re: Atmega 8 + zapis do EEPROM = przypadkowe wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183572#p183572"><![CDATA[
Podajesz w złej kolejności parametry do eeprom_write_block. Powinno być: adres_w_ram, adres_w_ee, długość_danych.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10470">HomoChemicus</a> — 26 lut 2017, o 14:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[matej1410]]></name></author>
<updated>2017-02-26T12:29:56+01:00</updated>
<published>2017-02-26T12:29:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183564#p183564</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183564#p183564"/>
<title type="html"><![CDATA[Re: Atmega 8 + zapis do EEPROM = przypadkowe wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=183564#p183564"><![CDATA[
Odgrzeję troszkę kotleta <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Po wykonaniu tego kodu:<br /><br />[syntax=c]#include &lt;avr/eeprom.h&gt;<br />#include &lt;avr/io.h&gt;<br /><br />typedef struct {<br />uint8_t t1;<br />uint8_t t2;<br />uint8_t g1;<br />} DANE;<br /><br />DANE zmienne_eeprom EEMEM;  // definicja struktury w eeprom<br />DANE zmienne_ram;// definicja struktury w ram<br /><br />int main(void)<br />{<br />zmienne_eeprom.t1=1;<br />zmienne_eeprom.t2=2;<br />zmienne_eeprom.g1=3;<br />eeprom_write_block( &amp;zmienne_eeprom, &amp;zmienne_ram, sizeof(DANE) );<br />}[/syntax]<br /><br />pamięć przedstawia się następująco:<br /><br /><a href="https://obrazkiforum.atnel.pl/1912/b2bee7336b5f6e4ff63459778e590f95.JPG"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/1912/b2bee7336b5f6e4ff63459778e590f95.JPG" alt="Obrazek" /></a><br /><br />co by oznaczało, że do EEPROMU zapisała się tylko jedna zmienna t1=1. Dlaczego reszta zmiennych się nie zapisała zaraz po niej? Przecież są zorganizowane w ramach jednej struktury i dlaczego wpisało się akurat w tamen adres a nie od pierwszego zgodnie z tym co mówił Mirek?<br /><br /><div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />po trzecie zapoznaj się ze strukturami i ułóż sobie wszystkie zmienne które mają być w eepromie w takiej strukturze<br /><br />po czwarte to jak w strukturze dasz pierwszą zmienną badblock to możesz być pewien że trafi ona wtedy na pierwszą komórkę<br /></div><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1912">matej1410</a> — 26 lut 2017, o 12:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[amilo_pa]]></name></author>
<updated>2017-01-29T00:10:12+01:00</updated>
<published>2017-01-29T00:10:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=181166#p181166</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=181166#p181166"/>
<title type="html"><![CDATA[Re: Atmega 8 + zapis do EEPROM = przypadkowe wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=181166#p181166"><![CDATA[
Pozwolicie,że się podepnę z pamięcią FLASH <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Mam zadeklarowane trzy struktury w d_led.h. Każda z tych struktur steruje parametrami innej diody RGB,<br />[syntax=c]//deklaracja struktury typu TLED_RGB<br />typedef struct {<br />volatile  uint8_t color&#91;6&#93;;//wartość PWM diod RGB: R=0, G=1, B=2, H=3, S=4, V=5<br />uint8_t paramiters_functions&#91;9&#93;;//parametry wykorzystywane przez funkcje sterujące poszczególnymi diodami rgb<br />uint16_t timer_set;//zapamiętany czas rozświetlania i ściemniania diody RGB, ładowany do licznika LED_timer<br />volatile uint16_t LED_timer;//czas odliczany w przerwaniu<br />uint32_t period_time;//zmienna za pomocą której ustawiamy nowy czas szybkości rozświetlania i ściemniania diody<br />uint8_t chosen_function;//zmienna informująca o wybranej funkcji do sterowania ledem<br />uint8_t value_max;//zmienna odpowiedzialna za maksymalny strumień świetlny<br />uint8_t saturation_max;//zmienna odpowiadajaca za maksymalne nasycenie kolorów<br />} TLED_RGB;<br /><br />// deklaracja DIOD RGB typu TLED_RGB wykorzystywanych w pamięci RAM<br />extern TLED_RGB chimney;<br />extern TLED_RGB window_left;<br />extern TLED_RGB window_right;[/syntax]<br /><br />Następnie mam zadeklarowane trzy struktury w w pliku memory.h<br />[syntax=c]//struktury zapisane w pamięci FLASH//<br />const extern TLED_RGB chimney_pgm;<br />const extern TLED_RGB window_left_pgm;<br />const extern TLED_RGB window_right_pgm;[/syntax]<br />Oraz ich definicję w memory.c<br />[syntax=c]//Definicja struktur zapisane w pamięci FLASH//<br />TLED_RGB const chimney_pgm PROGMEM =<br />{<br />0,0,0,125,255,255,//defoult_set_color,<br />chimney_rgb,0,125,25,100,136,50, 50, 2,//defoult_set_ch_para_fun,<br />PERIOD_Tim3,//defoult_set_tim<br />PERIOD_Tim3,//defoult_set_LED_tim<br />PERIOD_TIME_LED,// defoult_set_per_tim<br />3,// defoult_set_ch_chosen_function<br />200,//defoult_set_value_max<br />250,//defoult_set_saturation_max<br /><br /><br />};<br />const TLED_RGB window_left_pgm PROGMEM =<br />{<br />0,0,0,125,255,255,//defoult_set_color,<br />window_left_rgb,0,125,25,100,136,50, 50, 2,//defoult_set_ch_para_fun,<br />PERIOD_Tim3,//defoult_set_tim<br />PERIOD_Tim3,//defoult_set_LED_tim<br />PERIOD_TIME_LED,// defoult_set_per_tim<br />2,// defoult_set_ch_chosen_function<br />200,//defoult_set_value_max<br />250,//defoult_set_saturation_max<br /><br /><br />};<br />const TLED_RGB window_right_pgm PROGMEM =<br />{<br />0,0,0,125,255,255,//defoult_set_color,<br />window_right_rgb,0,125,25,100,136,50, 50, 2,//defoult_set_ch_para_fun,<br />PERIOD_Tim3,//defoult_set_tim<br />PERIOD_Tim3,//defoult_set_LED_tim<br />PERIOD_TIME_LED,// defoult_set_per_tim<br />1,// defoult_set_ch_chosen_function<br />200,//defoult_set_value_max<br />250,//defoult_set_saturation_max<br />};[/syntax]<br /><br />Kompilator zwraca mi ostrzeżenia do pierwszych linijek (<em>0,0,0,125,255,255,//defoult_set_color,</em>) we wszystkich trzech strukturach w postaci:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">make all <br />'Building file: ../MEMORY/memory.c'<br />'Invoking: AVR Compiler'<br />avr-gcc -Wall -Os -fpack-struct -fshort-enums -ffunction-sections -fdata-sections -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega32 -DF_CPU=16000000UL -MMD -MP -MF&quot;MEMORY/memory.d&quot; -MT&quot;MEMORY/memory.o&quot; -c -o &quot;MEMORY/memory.o&quot; &quot;../MEMORY/memory.c&quot;<br />../MEMORY/memory.c:32:3: warning: missing braces around initializer &#91;-Wmissing-braces&#93;<br />   0,0,0,125,255,255,//defoult_set_color,<br />   ^<br />../MEMORY/memory.c:32:3: warning: (near initialization for 'chimney_pgm.color') &#91;-Wmissing-braces&#93;<br />../MEMORY/memory.c:45:3: warning: missing braces around initializer &#91;-Wmissing-braces&#93;<br />   0,0,0,125,255,255,//defoult_set_color,<br />   ^<br />../MEMORY/memory.c:45:3: warning: (near initialization for 'window_left_pgm.color') &#91;-Wmissing-braces&#93;<br />../MEMORY/memory.c:58:3: warning: missing braces around initializer &#91;-Wmissing-braces&#93;<br />   1,1,1,125,255,255,//defoult_set_color,<br />   ^<br />../MEMORY/memory.c:58:3: warning: (near initialization for 'window_right_pgm.color') &#91;-Wmissing-braces&#93;</div><br /><br />Jakich nawiasów on się domaga?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3824">amilo_pa</a> — 29 sty 2017, o 00:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pabianice2]]></name></author>
<updated>2016-05-30T17:02:41+01:00</updated>
<published>2016-05-30T17:02:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=161339#p161339</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=161339#p161339"/>
<title type="html"><![CDATA[Re: Atmega 8 + zapis do EEPROM = przypadkowe wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=161339#p161339"><![CDATA[
Rozumiem, że dostęp przez strukturę jest wygodny i polecany, jeśli w EEPROMie zamierzamy trzymać jedynie jakieś ustawienia konfiguracyjne itp. - np. 100 czy 200 bajtów.<br /><br />Ale co w sytuacji, gdy mamy na przykład ATMEGĘ 1284P z 4 kB EEPROMU i chcemy wykorzystać je w całości? Mam zmarnować 4 kB SRAM-u i 4 kB Flasha na powielanie struktur w taki sposób? Użytkownik zmieni 1 parametr z kikuset, a ja już mam wysyłać do EEPROMu całe 4 kB? Przecież to trwa.<br /><br />Albo lepiej - zewnętrzny EEPROM 128 kB. Dla mnie świetna sprawa, żeby zapisywać historię zdarzeń itp. Jak to wtedy obsłużyć?<br /><br />Czy zatem zapis bezpośredni zawsze jest złem? A może sugerujecie podzielić w takiej sytuacji przestrzeń EEPROMu na przykład na wiele struktur po 1 kB? Nie krytykuję, pytam.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11912">pabianice2</a> — 30 maja 2016, o 17:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[DominikN]]></name></author>
<updated>2013-11-22T16:28:47+01:00</updated>
<published>2013-11-22T16:28:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=58187#p58187</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=58187#p58187"/>
<title type="html"><![CDATA[Re: Atmega 8 + zapis do EEPROM = przypadkowe wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=58187#p58187"><![CDATA[
z tego co zrozumialem to nie da sie odczytać dowolnej struktury funckcją epprom_readblock ?<br />a co z tym zapisem do eppromu musze zapisać dwa razy , tnz. czy zapis eeprom_write... jest równoważny z zapisem np programem avrdude ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1653">DominikN</a> — 22 lis 2013, o 16:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[DominikN]]></name></author>
<updated>2013-11-22T12:13:05+01:00</updated>
<published>2013-11-22T12:13:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=58165#p58165</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=58165#p58165"/>
<title type="html"><![CDATA[Re: Atmega 8 + zapis do EEPROM = przypadkowe wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=58165#p58165"><![CDATA[
Pyt 1. Jak i czy można samemu wybrać pod który adres chce sie umiescic swoją strukture ??<br /><br /><br />Pyt 2. Mam taką oto postać<br />[syntax=c]typedef struct {<br />uint8_t indeks;<br />int8_t  pomiar1;<br />int8_t  pomiar2;<br />} __czujka;[/syntax]<br />[syntax=c]__czujka DetektorEE EEMEM;<br />__czujka PomiarEE EEMEM;<br />__czujka ramDetektor;<br />__czujka ramPomiar;[/syntax]<br /><br /><br />[syntax=c]eeprom_write_block((const void*)&amp;PomiarEE,(void*)&amp;ramPomiar, sizeof(__czujka));<br />eeprom_write_block((const void*)&amp;DetektorEE ,(void*)&amp;ramDetektor, sizeof(__czujka));[/syntax]<br /><br /><br />i zeby powyzsze odczytać to musze to robić po koleji , czyli w takiej kolejnosci jak było zapisywane ??<br />czy mogę odczytywać na &quot;życzenie&quot; np detektor ?? ktory jak widzimy byl zapisany jako drugi<br /><br />Pyt 3.<br /><br />Jak chce zapisać dane do eepromu to wystarczy uzyć <br />[syntax=c]eeprom_write_block[/syntax]<br />czy muszę np w eclipsie właczyć opcje w ustawieniach projektu albo użyć avrdude ??<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1653">DominikN</a> — 22 lis 2013, o 12:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-02-18T11:26:48+01:00</updated>
<published>2013-02-18T11:26:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=28529#p28529</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=28529#p28529"/>
<title type="html"><![CDATA[Re: Atmega 8 + zapis do EEPROM = przypadkowe wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=28529#p28529"><![CDATA[
Ale ja zwykle jak na szybko odpowiadam to prawie ZAWSZE się mylę z kolejnością argumentów do tych funkcji <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> i zawsze też zalecam zajrzenie do właśnie PDF'a o którym wspominasz <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... to jest podstawa.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 18 lut 2013, o 11:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[greg]]></name></author>
<updated>2013-02-18T10:10:28+01:00</updated>
<published>2013-02-18T10:10:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=28523#p28523</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=28523#p28523"/>
<title type="html"><![CDATA[Re: Atmega 8 + zapis do EEPROM = przypadkowe wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=28523#p28523"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />[...] a jak chcesz zapisywać to:<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">eeprom_write_block( &amp;eem_zmienne, &amp;ram_zmienne, sizeof( T_EE ) );</div><br /></div><br /><br />Witam,<br /><br />Jestem tu nowy, aczkolwiek już kilkukrotnie skorzystałem z wiedzy wyczytanej na tym zacnym forum, za co niniejszym dziękuję.<br /><br />Mam pytanie o powyższy zapis, wydaje mi się, że zawiera błąd. Zgodnie z dokumentacją avr-libc Reference Manual 1.4.7<br /><br />6.13.3.4 void eeprom_write_block (const void  pointer_ram, void  pointer_eeprom, size_t n)<br />Write a block of n bytes to EEPROM address pointer_eeprom from pointer_ram.<br /><br />pozdrawiam,<br />Grzegorz<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=892">greg</a> — 18 lut 2013, o 10:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-11-21T10:55:13+01:00</updated>
<published>2012-11-21T10:55:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=19277#p19277</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=19277#p19277"/>
<title type="html"><![CDATA[Re: Atmega 8 + zapis do EEPROM = przypadkowe wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=19277#p19277"><![CDATA[
eeeh nie wyrabiam się normalnie - ale i to jest tematem przyszłego poradnika video jaki ma się ukazać. Na razie jednak cały czas trwają przygotowania do kręcenia tych poradników .... ale będą, będą jako uzupełnienia ćwiczeń do książek.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 21 lis 2012, o 10:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2012-11-21T10:35:46+01:00</updated>
<published>2012-11-21T10:35:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=19273#p19273</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=19273#p19273"/>
<title type="html"><![CDATA[Re: Atmega 8 + zapis do EEPROM = przypadkowe wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=19273#p19273"><![CDATA[
Może by tego posta <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic1591.html#p15892" >topic1591.html#p15892</a><!-- l --> jakoś przykleić, albo umieścić na twoim Blogu Mirku?. Brakuje troszkę takiego łopatologicznego opisu obsługi struktur, flash-ram-eeprom-ram. Czyli właśnie jakiejś konfiguracji zapisywanej w eepromie, domyślnej w flash, przywracania jej potem do eeproma itd.<br /><br />Struktury i eeprom to praktycznie jedyne słuszne podejście, a na początku bardzo ciężko to zrozumieć, szczególnie, że odwołujemy się do zmiennych za pomocą &amp; operatora wyłuskania adresu, oraz samo odwoływanie się do tablic w strukturach jest troszkę zagmatwane, przynajmniej na początku.<p>Statystyki: Napisane przez Gość — 21 lis 2012, o 10:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-09-29T10:39:45+01:00</updated>
<published>2012-09-29T10:39:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=16170#p16170</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=16170#p16170"/>
<title type="html"><![CDATA[Re: Atmega 8 + zapis do EEPROM = przypadkowe wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=16170#p16170"><![CDATA[
To się zdarza, i ja to bardzo dobrze rozumiem, bo ileż razy i mnie zdarzy się zrobić taki błąd .... dokładnie taki ....<br /><br />ale warto z tego wyciągać jeden wniosek i nie zapominać o nim ..... <br /><br />Gdy coś nie wychodzi tak jak powinno być to:<br /><br />1. nie szukać przyczyn błędów w sprzęcie lub kompilatorze<br />2. nie szukać coraz prostszych a jednocześnie gorszych rozwiązań (bo coś tam działa)<br />3. DO UPADŁEGO szukać błędu we własnych poczynaniach<br /><br />ja tu nie chcę mówić że ty szukałeś błędów w sprzęcie (pkt.1) nie o to mi chodzi - chciałem tylko po raz kolejny na forum w takim przypadku przypomnieć ważne CREDO jakie każdemu powinno przyświecać.<br /><br /><br />Ale też rozumiem że czasem jak człowiek jest zmęczony to różne myśli przychodzą <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> tu też masz rację.....<br /><br />Za to zawsze nowy dzień i wypoczęta mózgownica pomaga nam usunąć &quot;pomroczność jasną&quot; i o to chodzi <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> — 29 wrz 2012, o 10:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Hass-pol]]></name></author>
<updated>2012-09-29T08:55:36+01:00</updated>
<published>2012-09-29T08:55:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=16152#p16152</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=16152#p16152"/>
<title type="html"><![CDATA[Re: Atmega 8 + zapis do EEPROM = przypadkowe wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=16152#p16152"><![CDATA[
Jednak świeży umysł czyni cuda. Pomroczność jasna minęła i przyszło oświecenie. <br />Siedzę nad (jak na mnie) dużym projektem i czasami zapominam że pewne zmienne są tam od zawsze i jakoś je pomijam/zapominam.<br />Zapomniałem że mam już zmienne x i y - do współrzędnych panelu dotykowego... także wystarczyło zmienić<br />[syntax=c]uint16_t x EEMEM = 10;[/syntax]<br />na<br />[syntax=c]uint16_t b EEMEM = 10;[/syntax]<br />i poszło za pierwszym razem... ale głupota...  <br />Dziękuję za pomoc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=213">Hass-pol</a> — 29 wrz 2012, o 08:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-09-28T22:59:28+01:00</updated>
<published>2012-09-28T22:59:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=16138#p16138</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=16138#p16138"/>
<title type="html"><![CDATA[Re: Atmega 8 + zapis do EEPROM = przypadkowe wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=16138#p16138"><![CDATA[
<div class="quotetitle">Hass-pol napisał(a):</div><div class="quotecontent"><br />Jutro dalej będę dłubał... dziś już skończyła się jasność umysłu a włączyła pomroczność jasna <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Dziękuje Mirek za sprawdzenie, wierze że działa bo tak właśnie powinno to wyglądać, ale u mnie jak zwykle nie działa.<br /></div><br /><br />No dokładnie to podłub i napisz - bo nie ma co wracać do asemblera <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />poza tym jak już minie ci pomroczność jasna to zrób taki prosty program - bo mi się zdaje że ty to wplatasz w jakieś monstrum w którym coś jeszcze innego się dzieje ....<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 28 wrz 2012, o 22:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Hass-pol]]></name></author>
<updated>2012-09-28T22:41:09+01:00</updated>
<published>2012-09-28T22:41:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=16137#p16137</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=16137#p16137"/>
<title type="html"><![CDATA[Re: Atmega 8 + zapis do EEPROM = przypadkowe wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=16137#p16137"><![CDATA[
Postaram się wyjść z jaskini... i znajdę błąd. U mnie nie działa ten kod. Co prawda  jeśli w ten sposób zapiszę uint16_t x EEMEM = 10; to zmienna &quot;a&quot; jest wyświetlana 10, więc odczyt z pamięci EEPROM i wpisanie wartości do &quot;a&quot; działa, problem z wpisaniem nowej wartości już w programie, tak myślę. <br /><br />Jutro dalej będę dłubał... dziś już skończyła się jasność umysłu a włączyła pomroczność jasna <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Dziękuje Mirek za sprawdzenie, wierze że działa bo tak właśnie powinno to wyglądać, ale u mnie jak zwykle nie działa.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=213">Hass-pol</a> — 28 wrz 2012, o 22:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-09-28T21:50:08+01:00</updated>
<published>2012-09-28T21:50:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=16130#p16130</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=16130#p16130"/>
<title type="html"><![CDATA[Re: Atmega 8 + zapis do EEPROM = przypadkowe wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1591&amp;p=16130#p16130"><![CDATA[
<div class="quotetitle">Hass-pol napisał(a):</div><div class="quotecontent"><br />Natomiast w ostatnim przykładzie wszystko się kompiluje, nie ma błędów. Jednak nie wpisuje wartości do pamięci, a może wpisuje, ale nie odczytuje ? nie wiem, po restarcie zaczyna od 0. .<br /></div><br /><br />taaak to dziwne że mi taki kod działa i po każdym restarcie zlicza od kolejnej wartości<br /><br />[syntax=c]uint16_t x EEMEM;<br />uint16_t a;<br /><br /><br />// *************************************************** pętla główna main()<br />int main(void) {<br /><br />DDRA |= (1&lt;&lt;PA7);<br />PORTA |= (1&lt;&lt;PA7); // podświetlenie LCD<br /><br />lcd_init();<br />lcd_cls();<br />lcd_str(&quot;start...&quot;);<br /><br />    a=eeprom_read_word(&amp;x);<br /><br />    while(1) {<br /><br />           a=a+1;<br />           eeprom_write_word(&amp;x, a);<br /><br />lcd_cls();<br />lcd_int(a);<br />_delay_ms(1500);<br />    }<br />}<br />//******************************************************** koniec main()[/syntax]<br /><br />żeby nie było niejasności - nie mam nawet włączonego żadnego BOD'a ani żadnych tam kontrolerów RESETu .... taki program MUSI działać. Nie będę robił i wklejał tu filmiku z działania bo to bez sensu przy tak prozaicznym przykładzie.<br /><br />a jak by mi coś takiego nie działało - to bym szukał aż do bólu dlaczego nie działa - aż dotąd - dokąd bym znalazł rozwiązanie zamiast cofać się do epoki kamienia łupanego że tak powiem czyli do pisania obsługi eeproma prawie w czystym asemblerze <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> <br /><br />tylko tyle na to powiem<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 28 wrz 2012, o 21:50</p><hr />
]]></content>
</entry>
</feed>