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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-06-15T21:53:24+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=12&amp;t=3326&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-06-15T21:53:24+01:00</updated>
<published>2013-06-15T21:53:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3326&amp;p=39372#p39372</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3326&amp;p=39372#p39372"/>
<title type="html"><![CDATA[Re: Zapis  do pamięci 24C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3326&amp;p=39372#p39372"><![CDATA[
<div class="quotetitle">slawek3000 napisał(a):</div><div class="quotecontent"><br />a co jak mam ich 6 ?<br /></div><br /><br />a wiesz co to są pętle w językach programowania ? Bascom też je ma - więc skorzystaj.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 15 cze 2013, o 21:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[slawek3000]]></name></author>
<updated>2013-06-15T20:40:40+01:00</updated>
<published>2013-06-15T20:40:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3326&amp;p=39356#p39356</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3326&amp;p=39356#p39356"/>
<title type="html"><![CDATA[Re: Zapis  do pamięci 24C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3326&amp;p=39356#p39356"><![CDATA[
Czyli jak rozumiem w tym przypadku mogę zapisać dwie zmienne typu LONG a co jak mam ich 6 ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=988">slawek3000</a> — 15 cze 2013, o 20:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ariek44]]></name></author>
<updated>2013-06-15T18:42:02+01:00</updated>
<published>2013-06-15T18:42:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3326&amp;p=39345#p39345</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3326&amp;p=39345#p39345"/>
<title type="html"><![CDATA[Re: Zapis  do pamięci 24C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3326&amp;p=39345#p39345"><![CDATA[
slawek3000, dam przykład tak na sucho bez sprawdzenia w mikrokontrolerze, ale powinno to działać, a już napewno rozświetlić trochę drogę<br /><br />załóżmy że mamy takie zmienne<br /><br />[syntax=basic4gl]Dim Byte0 As Byte<br />Dim Byte1 As Byte<br />Dim Byte2 As Byte<br />Dim Byte3 As Byte<br />Dim Long0 As Long<br />Dim Temp0 As Long[/syntax]<br /><br />teraz żeby zapisać zmienną long0 do 4 zmiennych bajt0..3 możemy wykorzystać operacje przesuwania<br /><br />[syntax=basic4gl]Temp0 = Long0<br />Shift Temp0 , Left , 24<br />Shift Temp0 , Right , 24<br />Byte0 = Temp0<br /><br />Temp0 = Long0<br />Shift Temp0 , Left , 16<br />Shift Temp0 , Right , 24<br />Byte1 = Temp0<br /><br />Temp0 = Long0<br />Shift Temp0 , Left , 8<br />Shift Temp0 , Right , 24<br />Byte2 = Temp0<br /><br />Temp0 = Long0<br />Shift Temp0 , Right , 24<br />Byte3 = Temp0[/syntax]<br /><br />teraz odwrotnie tzn 4 zmienne byte0..3 zapisac do zmiennej long0<br /><br />[syntax=basic4gl]Long0 = 0<br />Long0 = Long0 Or Byte3<br />Shift Long0 , Left , 8<br />Long0 = Long0 Or Byte2<br />Shift Long0 , Left , 8<br />Long0 = Long0 Or Byte1<br />Shift Long0 , Left , 8<br />Long0 = Long0 Or Byte0[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=416">ariek44</a> — 15 cze 2013, o 18:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[slawek3000]]></name></author>
<updated>2013-06-15T15:06:47+01:00</updated>
<published>2013-06-15T15:06:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3326&amp;p=39341#p39341</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3326&amp;p=39341#p39341"/>
<title type="html"><![CDATA[Re: Zapis  do pamięci 24C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3326&amp;p=39341#p39341"><![CDATA[
OK rozumie to , tylko nie wiem jak napisać ten parę linijek w necie jest na ten temat mało wiadomości<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=988">slawek3000</a> — 15 cze 2013, o 15:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ariek44]]></name></author>
<updated>2013-06-15T14:24:45+01:00</updated>
<published>2013-06-15T14:24:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3326&amp;p=39338#p39338</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3326&amp;p=39338#p39338"/>
<title type="html"><![CDATA[Re: Zapis  do pamięci 24C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3326&amp;p=39338#p39338"><![CDATA[
slawek3000, utwórz 4 nowe zmienne typu BYTE i zapisuj do nich odpowiednie bity ze zmiennej LONG za pomocą SHIFT lub OVERLAY<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=416">ariek44</a> — 15 cze 2013, o 14:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[slawek3000]]></name></author>
<updated>2013-06-15T06:42:07+01:00</updated>
<published>2013-06-15T06:42:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3326&amp;p=39328#p39328</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3326&amp;p=39328#p39328"/>
<title type="html"><![CDATA[Re: Zapis  do pamięci 24C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3326&amp;p=39328#p39328"><![CDATA[
Ok Mirek tylko jak mam napisać ten kod by prawidłowo zapisywał i odczytywał te zmienne ? <img src="https://forum.atnel.pl/images/smilies/icon_idea.gif" alt=":idea:" title="Pomysł" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=988">slawek3000</a> — 15 cze 2013, o 06:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-06-15T06:37:32+01:00</updated>
<published>2013-06-15T06:37:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3326&amp;p=39327#p39327</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3326&amp;p=39327#p39327"/>
<title type="html"><![CDATA[Re: Zapis  do pamięci 24C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3326&amp;p=39327#p39327"><![CDATA[
<div class="quotetitle">slawek3000 napisał(a):</div><div class="quotecontent"><br />Znalazłem taki kod w necie<br /></div><br /><br />Nie wszystko co się znajdzie w internecie oznacza od razu, że jest dobre nawet gdy sam autor chwali się że działa. Nie wiedziałeś o tym - i to jak widać jest taki przypadek.<br /><br /><div class="quotetitle">slawek3000 napisał(a):</div><div class="quotecontent"><br />moje pytanie jest takie gdy zmienna wynosi do 255 jest zapisywana poprawna liczba 255 , gdy jest większa pokazuje mi jakieś dziwne liczby np. zmienna równa się 800 to odczytuje 32 a przecież to jest zmienna LONG ?<br /></div><br /><br />zobacz przecież jak byk niejako masz napisane w kodzie:<br /><br />[syntax=basic4gl]I2cwbyte Zmienna <br />....<br />I2crbyte Zmienna[/syntax]<br /><br />a dokładniej spójrz na lewą stronę<br /><br />[syntax=basic4gl]I2cwbyte <br />...<br />I2crbyte[/syntax]<br /><br />już nawet nie chcąc zajrzeć do helpa bascoma to nie wydaje ci się podejrzane to &quot;<strong><span style="color: #0040FF">byte</span></strong>&quot; ? nie zastanawia cię że chodzi o zapis/odczyt bajtu ? .... a ty próbujesz zapisać odczytać zmienną 4 bajtową ? i dziwisz się że nie działa ? <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br />no ale tak to jest jak człowiek ulegnie czyjejś autosugestii z internetu - tym bardziej gdy ktoś tam pisze jak to mu niby rzekomo super działa<br /><br />tymczasem wystarczy zajrzeć chociażby do helpa bascomicznego online na stronie producenta<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/54/74f71890f7f449746b9a052b0292404e.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/54/74f71890f7f449746b9a052b0292404e.png" alt="Obrazek" /></a><br /><br />i tam przeczytać, że:<br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />I2CWBYTE <span style="color: #FF0000">sends one byte</span> to an I2C-device.<br /></div><br /><br />to zapis JEDNEGO bajtu<br /><br />zatem nie może to co masz napisane działać poprawnie ponieważ gdy zapisujesz liczbę 800 to masz dwa bajty, starszy i młodszy<br /><br />00000011 00<span style="color: #FF0000"><strong>1</strong></span>00000<br /><br />widzisz? ten po lewej to starszy bajt liczby 800 zapisanej jako WORD (na dwóch bajtach) ... o wartości = 7 natomiast drugi bajt ten po prawej to młodszy bajt (gdzie ta czerwona jedynka) ... widzisz ? i on jak widzisz ma wartość 32<br /><br />więc teraz już się chyba nie dziwisz ? że wyświetla ci się tam 32 - to nie żadna głupota - bo jak zapisujesz jeden bajt funkcją<br /><br />i2cwbyte<br /><br />a jako argument podajesz bardziej pojemną liczbę (4 czy 2 bajtową) to co? to funkcja zapisuje z niej tylko najmłodszy bajt. Chcesz się upewnić ? to zapisz sobie np liczbę 257 - a odczytasz z tego liczbę = 1 <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> — 15 cze 2013, o 06:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[slawek3000]]></name></author>
<updated>2013-06-15T06:11:03+01:00</updated>
<published>2013-06-15T06:11:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3326&amp;p=39326#p39326</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3326&amp;p=39326#p39326"/>
<title type="html"><![CDATA[Zapis  do pamięci 24C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3326&amp;p=39326#p39326"><![CDATA[
Znalazłem taki kod w necie [syntax=basic4gl]$regfile = &quot;m644pdef.dat&quot;                                   ' specify the used micro<br />$crystal = 16000000<br />$baud = 9600<br />$hwstack = 64<br />$swstack = 64<br />$framesize = 64<br /><br /><br />'-----------------------------------------------------------------<br />'konfiguracja wyświetlacza<br /> Config Lcd = 16 * 2<br /> Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Porta.3 , Rs = Porta.2<br /> Config Sda = Portc.1                                       'Konfiguracja Portu do transmisji z interfejsem I2C.<br /> Config Scl = Portc.0                                       'Konfiguracja Portu do transmisji z interfejsem I2C.<br />                                                            'Uwaga! W innych procesorach mogą to być inne porty.<br /> Config Pind.5 = Input                                      'Przycisk zapisu.<br /> Config Pind.6 = Input                                      'Przycisk odczytu.<br /> Set Portd.5                                                '<br /> Set Portd.6                                                '<br /><br /> Dim Zmienna As Long                                        'Zmienna w której będzie wartość do zapisu w pamięci.<br /> Const Adres_write = 172                                    'Adres do zapisu w pamięci szeregowej.<br /> Const Adres_read = 173                                     'Adres do odczytu z pamięci szeregowej.<br /><br /> Cls                                                        'czyść Lcd.<br /><br />Do                                                          'Pętla.<br />'Zapis bajtów.<br />  If Pind.5 = 0 Then                                        'Jeśli naciśniemy przycisk P4...<br />  Zmienna = 255                                      'A w Zmiennej będzie 99...<br />  I2cstart                                                  'Start zapisu.<br />  I2cwbyte Adres_write                                      'Wyślij pod adres Adres_write.<br />  I2cwbyte 1                                                'Zapisz pod numerem 1 (może być inny).<br />  I2cwbyte Zmienna                                          'Wyślij zawartość Zmienna.<br />  I2cstop                                                   'Zatrzymaj zapis.<br /> Home                                                       'Zapisywanie w Lcd w jednym miejscu.<br />  Lcd &quot;Zap &quot; ; Zmienna;                                     'Pokaż co zapisałeś.<br />  Wait 1                                                    'Poczekaj 1 sek.<br />  Zmienna = 0                                               'Zeruj zmienną.<br />  End If                                                    'Koniec warunku przycisku.<br /><br />'Odczyt bajtów.<br />   If Pind.6 = 0 Then                                       'Jeśli naciśnięto P5...<br />   I2cstart                                                 'Start transmisji.<br />   I2cwbyte Adres_write                                     'Sprawdź pod jakim adresem zapisano.<br />   I2cwbyte 1                                               'Pod jakim numerem.<br />   I2cstart                                                 'Start odczytu.<br />   I2cwbyte Adres_read                                      'Wpisz adres odczytu.<br />   I2crbyte Zmienna , Nack                                  'Odczytaj zapis. Nack=koniec dalszego odzczytu.<br />   I2cstop                                                  'Zatrzymaj transmisję.<br />  Locate 2 , 1                                              'Druga lionia Lcd, pirwsza komórka.<br />  Lcd &quot;Odcz &quot; ; Zmienna;                                    'Pokaż odczyt.<br /><br />End If                                                      'Koniec warunku przycisku.<br />Loop                                                        'Powtarzaj pętlę.<br />  End[/syntax]<br /><br />moje pytanie jest takie gdy zmienna wynosi do 255 jest zapisywana poprawna liczba 255 , gdy jest większa pokazuje mi jakieś dziwne liczby np. zmienna równa się 800 to odczytuje 32 a przecież to jest zmienna LONG ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=988">slawek3000</a> — 15 cze 2013, o 06:11</p><hr />
]]></content>
</entry>
</feed>