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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-09-12T09:51:32+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=8456&amp;mode</id>
<entry>
<author><name><![CDATA[daro2020]]></name></author>
<updated>2014-09-12T09:51:32+01:00</updated>
<published>2014-09-12T09:51:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8456&amp;p=95209#p95209</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8456&amp;p=95209#p95209"/>
<title type="html"><![CDATA[Re: Wskaźniki EEPROM_read]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8456&amp;p=95209#p95209"><![CDATA[
Dzięki za odpowiedzi, już teraz wszystko jasne, lecę dalej z materiałem. Oczywiście pomocną wiedzę kolegów umieszczam w główce pod odpowiednim wskaźnikiem, tym razem bez rzutowania  <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=1608">daro2020</a> — 12 wrz 2014, o 09:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jacekk232]]></name></author>
<updated>2014-09-10T20:36:16+01:00</updated>
<published>2014-09-10T20:36:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8456&amp;p=95001#p95001</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8456&amp;p=95001#p95001"/>
<title type="html"><![CDATA[Re: Wskaźniki EEPROM_read]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8456&amp;p=95001#p95001"><![CDATA[
<div class="quotetitle">squeez napisał(a):</div><div class="quotecontent"><br />Żeby odczytać int z epromu masz funkcję eeprom_read_word() jak byś chciał robić to na &quot;około&quot; poprzez eeprom_read_byte musiałbyś odczytać pierwszą część i potem drugą część z sąsiedniej komórki (ale to raczej bez sensu komplikować sobie życie).<br /></div><br /><br />Pamiętając o tym, że zmienne większe niż jeden bajt są w procesorach AVR ułożone w pamięci w systemie little endian. Tak więc w przypadku zmiennej dwubajtowej najpierw odczytamy młodszy bajt a następnie starszy bajt. Należy o tym pamiętać np. w sytuacji gdy &quot;latamy&quot; wskaźnikiem na zmienną jednobajtową po pamięci ze zmiennymi wielobajtowymi.<br /><br />Niech mnie ktoś poprawi jeśli się mylę.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=204">jacekk232</a> — 10 wrz 2014, o 20:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Nondzu]]></name></author>
<updated>2014-09-09T21:28:21+01:00</updated>
<published>2014-09-09T21:28:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8456&amp;p=94871#p94871</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8456&amp;p=94871#p94871"/>
<title type="html"><![CDATA[Re: Wskaźniki EEPROM_read]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8456&amp;p=94871#p94871"><![CDATA[
Przepraszam, że nie w temacie ale ja do tej pory myślałem, że zapis &quot;*s++&quot; będzie równoznaczny &quot;(*s)++&quot; ... eh trzeba się zapoznać z tymi priorytetami operatorów i to bardzo dogłębnie <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1672">Nondzu</a> — 9 wrz 2014, o 21:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[daro2020]]></name></author>
<updated>2014-09-09T13:43:53+01:00</updated>
<published>2014-09-09T13:43:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8456&amp;p=94797#p94797</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8456&amp;p=94797#p94797"/>
<title type="html"><![CDATA[Re: Wskaźniki EEPROM_read]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8456&amp;p=94797#p94797"><![CDATA[
ok. Zestawiłem odpowiedzi i proszę o poprawki jeśli coś źle zrozumiałem.<br />Wskaźnik str wskazuje na typ char (jakiś string):<br />[syntax=c]void fun(char *str)<br />{<br />data =     eeprom_read_byte ((uint8_t *) (str++));<br />// tutaj dalsza obróbka zmiennej data<br />}[/syntax]<br /><br />A więc muszę dokonać rzutowania, bo w definicji funkcji eeprom_read_byte argumentem jest typ uint8_t a nie char, czy tak?<br /><br />A teraz str wskazuje na zmienne typu int (jakieś liczby do wartości 65535):<br />[syntax=c]void fun(int *str)<br />{<br />data =     eeprom_read_byte ((uint8_t *) (str++));<br />// tutaj dalsza obróbka zmiennej data<br />}[/syntax]<br />Czy teraz zmienna data bedzia zawierała młodszy bajt int?<br /><br />Co do działań na wskaźnikach:<br />*s++ = zwieksza zmienną pod adresem 's'<br /> s++  = zwieksza adres 's'<br /> (*s)++ = tego nie rozumiem  <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1608">daro2020</a> — 9 wrz 2014, o 13:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[daro2020]]></name></author>
<updated>2014-09-09T10:47:04+01:00</updated>
<published>2014-09-09T10:47:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8456&amp;p=94786#p94786</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8456&amp;p=94786#p94786"/>
<title type="html"><![CDATA[Wskaźniki EEPROM_read]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8456&amp;p=94786#p94786"><![CDATA[
Pytanie początkującego w C.<br />Jak na razie sklejam wiedzę z Bluebooka więc o niejasności pytam.<br />Napotkałem takie oto wywołanie funkcji do odczytu z EEPROM:<br />[syntax=c]eeprom_read_byte ((uint8_t *) (str++))[/syntax]<br />ale nie rozumiem zapisu (uint8_t *), choć coś mi iskrzy, że jest to rzutowanie na typ uint8_t. Jednak dlaczego gwiazdka oznaczająca wskaźnik znajduje się w nawiasie razem z typem?<br />i czy można to zapisać też tak?:<br />[syntax=c]eeprom_read_byte ((uint8_t) *str++);[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1608">daro2020</a> — 9 wrz 2014, o 10:47</p><hr />
]]></content>
</entry>
</feed>