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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-12-07T21:11:57+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=16991&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-12-07T21:11:57+01:00</updated>
<published>2016-12-07T21:11:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176824#p176824</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176824#p176824"/>
<title type="html"><![CDATA[Re: EEprom - zapis złych wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176824#p176824"><![CDATA[
Polecam ZAPIS danych do FLASH zamiast EEPROM <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> tysiąc razy pewniejsze<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 7 gru 2016, o 21:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq5rix]]></name></author>
<updated>2016-12-07T20:15:12+01:00</updated>
<published>2016-12-07T20:15:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176809#p176809</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176809#p176809"/>
<title type="html"><![CDATA[Re: EEprom - zapis złych wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176809#p176809"><![CDATA[
No to rzeczywiście - gratuluję złapania drania <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=5966">sq5rix</a> — 7 gru 2016, o 20:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[misiekdg]]></name></author>
<updated>2016-12-07T15:12:07+01:00</updated>
<published>2016-12-07T15:12:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176778#p176778</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176778#p176778"/>
<title type="html"><![CDATA[Re: EEprom - zapis złych wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176778#p176778"><![CDATA[
Problem rozwiązany. Aż ciężko w to uwierzyć ale nowy mikrokontroler kupiony w TME wygląda na wadliwy. Płytka wykonana w smd, wszystkie elementy nowe, gdyby nie było tak ciasno pewnie bym już wcześniej podmienił go na innego. <br /><br />Po podmianie wszystko ok. Trzy dni stracone na szukanie błędu. <br /><br />Daje to trochę do myślenia. Układ ma sterować mechanizmem który w razie awarii mógłby narobić sporo szkód (finansowych). Pamięć wiadomo zawsze robi się kontrole odczytanych wartości, gorzej jeśli błąd &quot;fabryczny&quot; dotyczył by rejestrów które mają wpływ na działanie układu. <br /><br />Dziękuję wszystkim za zainteresowanie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15724">misiekdg</a> — 7 gru 2016, o 15:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq5rix]]></name></author>
<updated>2016-12-07T14:30:39+01:00</updated>
<published>2016-12-07T14:30:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176772#p176772</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176772#p176772"/>
<title type="html"><![CDATA[Re: EEprom - zapis złych wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176772#p176772"><![CDATA[
Zgadza się były losowe... Zdrowo się namęczyłem z tym.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5966">sq5rix</a> — 7 gru 2016, o 14:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2016-12-07T12:06:50+01:00</updated>
<published>2016-12-07T12:06:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176760#p176760</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176760#p176760"/>
<title type="html"><![CDATA[Re: EEprom - zapis złych wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176760#p176760"><![CDATA[
No tak, tylko że tutaj przekłamanie nie jest losowe. Wygląda to tak, jakby bit 4 odczytywanej wartości był permanentnie ustawiony na 1, czyli jakby po odczytaniu wykonać operację OR z 0b0001000 (0x10). Jeżeli odczytywana wartość ma również ten bit ustawiony na 1, to wynik jest prawidłowy, jeśli bit 4 jest równy 0, występuje przekłamanie.<br /><br />Wydaje mi się, że w przypadku zbyt niskiego napięcia zasilającego błędy będą przypadkowe, chociaż mogę się mylić (osobiście nie miałem takiego przypadku).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 7 gru 2016, o 12:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq5rix]]></name></author>
<updated>2016-12-07T11:45:01+01:00</updated>
<published>2016-12-07T11:45:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176756#p176756</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176756#p176756"/>
<title type="html"><![CDATA[Re: EEprom - zapis złych wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176756#p176756"><![CDATA[
Ja miałem problem z eeprom jak zasilanie było słabe - bardzo podobnie się zachowywało, raz ok raz nie...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5966">sq5rix</a> — 7 gru 2016, o 11:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2016-12-06T20:49:49+01:00</updated>
<published>2016-12-06T20:49:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176707#p176707</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176707#p176707"/>
<title type="html"><![CDATA[Re: EEprom - zapis złych wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176707#p176707"><![CDATA[
Bez całego kodu trudno będzie coś stwierdzić.<br /><br />Funkcje z serii <em>eeprom_read_xxx()</em> oraz <em>eeprom_write_xxx()</em> to funkcje z biblioteki standardowej avr-libc i działają na pewno dobrze.<br /><br />W jaki sposób sprawdzasz poprawność zapisu?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 6 gru 2016, o 20:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[misiekdg]]></name></author>
<updated>2016-12-06T20:36:19+01:00</updated>
<published>2016-12-06T20:36:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176706#p176706</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176706#p176706"/>
<title type="html"><![CDATA[Re: EEprom - zapis złych wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176706#p176706"><![CDATA[
Faktycznie, to fragment kodu który wziąłem z tego forum - który też sprawdzałem.<br /><br />U siebie w programie mam dobrze ale efekt jest taki sam (wiele kodów sprawdzałem). Zrobiłem kilka prób zapisując kolejno wartości do pamięci, oto wynik:<br /><br />dec 0  = 0x00  &gt;  0x10   źle<br />dec 4  = 0x04  &gt;  0x14   źle<br />dec 12 = 0x0C  &gt;  0x1C   źle<br />dec 20 = 0x14  &gt;  0x14   ok<br />dec 28 = 0x1C  &gt;  0x1C   ok<br />dec 34 = 0x22  &gt;  0x32   źle<br />dec 53 = 0x35  &gt;  0x35   ok<br />dec 73 = 0x49  &gt;  0x59   źle<br />dec 82 = 0x52  &gt;  0x52   ok<br />dec 153= 0x99  &gt;  0x99   ok<br /><br />Zapis pojedynczej zmiennej uint8_t. Pierwsza kolumna to wartość dziesiętna, druga kolumna to wartość HEX która powinna się pojawić w pamięci, a trzecia kolumna to jest co się zapisało w pamięci.<br /><br />Błąd zapisu pojawia się zawsze gdy starszy bit jest parzysty lub równy zero. Wtedy jest zawyżany o 1.<br />Efekt liczba dec4 i dec20 zapisują się tak samo.<br />Próbując samego polecenia __EEPUT(10,4); efekt jest ten sam. Pod adresem 10 zapisuje &quot;dec20&quot;;<br /><br />Gdzie w bibliotece jest fragment odpowiedzialny za zapis do pamięci? może warto tam zobaczyć co się dzieje.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15724">misiekdg</a> — 6 gru 2016, o 20:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2016-12-06T07:11:13+01:00</updated>
<published>2016-12-06T07:11:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176636#p176636</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176636#p176636"/>
<title type="html"><![CDATA[Re: EEprom - zapis złych wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176636#p176636"><![CDATA[
Na początek zmień kolejność argumentów podczas wywołania funkcji <em>eeprom_write_block()</em> oraz <em>eeprom_read_block()</em>. Pierwszy powinien być wskaźnik do RAM, dopiero później do EEPROM, a Ty masz odwrotnie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 6 gru 2016, o 07:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[misiekdg]]></name></author>
<updated>2016-12-05T21:07:55+01:00</updated>
<published>2016-12-05T21:07:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176611#p176611</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176611#p176611"/>
<title type="html"><![CDATA[EEprom - zapis złych wartości]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16991&amp;p=176611#p176611"><![CDATA[
Napotkałem dziwny problem.<br /><br />Mianowicie podczas tworzenia struktury - bez wartości- oraz przypisaniu jej miejsca w pamieć ee -  wszystko jest ok - miejsce jest wypełnione zerami.<br />Kiedy tworze pojedynczą zmienną np o wartości 3 i rezerwuje jej miejsce w pamieć - to odczytując EEprom mam 0x03  - czyli tez ok.<br /><br />Czyli tworzenie &quot;wsadu&quot; do eepromu przebiega dobrze.<br /><br />Kłopot pojawia się jak chcę zmienić wartość pamięci podczas pracy programu .<br /><br />używając struktur wykonuję oczywiście: (przykład z tego forum)<br /><br />[syntax=c]ram_zmienne.t_min_ee=5;<br />        eeprom_write_block( &amp;eem_zmienne, &amp;ram_zmienne, sizeof( T_EE ) );[/syntax]<br /><br />po chwili odczytuję strukture z eeprom:<br /><br />         [syntax=c]eeprom_read_block (&amp;eem_zmienne, &amp;ram_zmienne, sizeof( T_EE ));[/syntax]<br /><br />I teraz zmienna ram_zmienne.t_min_ee ma wartość 21 !!<br /><br />Przy zapisie z poziomu programu w starszym bicie mam ciągle napisaną cyfrę o 1 większa niż być powinna.<br /><br />Tak samo się dzieje gdy używam zapisu pojedynczej zmiennej:<br />[syntax=c]uint8_t EEMEM abc = 2;   // - tu jest ok tworzy się wsad z wartością 2 (0x02)<br />eeprom_write_byte(&amp;abc,4); // - nadpisuje się pamieć do wartości (0x14)<br />xyz = eeprom_read_byte(&amp;abc); - xyz = 20[/syntax]<br /><br />Przy liczbach 2 bajtowych problem się nasila, zapisując liczbę dec 26  w pamieć powinno być 24H a pojawia się 1034 H - czyli 4148 dec.<br /><br />Całe oprogramowanie sciągłem ze strony <!-- m --><a class="postlink" href="http://mirekk36.blogspot.com/" >http://mirekk36.blogspot.com/</a><!-- m --><br /><br />Nie wiem jak sobie z tym poradzić.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15724">misiekdg</a> — 5 gru 2016, o 21:07</p><hr />
]]></content>
</entry>
</feed>