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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2018-06-10T09:06:22+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=20848&amp;mode</id>
<entry>
<author><name><![CDATA[micky]]></name></author>
<updated>2018-06-10T09:06:22+01:00</updated>
<published>2018-06-10T09:06:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208787#p208787</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208787#p208787"/>
<title type="html"><![CDATA[Re: Problem z strukturą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208787#p208787"><![CDATA[
W skrócie to: książki, czytać, praktykować <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=1546">micky</a> — 10 cze 2018, o 09:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ELEKTRON105]]></name></author>
<updated>2018-06-09T17:56:04+01:00</updated>
<published>2018-06-09T17:56:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208746#p208746</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208746#p208746"/>
<title type="html"><![CDATA[Re: Problem z strukturą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208746#p208746"><![CDATA[
Panowie  no i oczywiście działa <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> .Wiem to są podstawy i zdaję sobie sprawę że to nawet śmieszne pytać się na forum o takie rzeczy <img src="https://forum.atnel.pl/images/smilies/icon_redface.gif" alt=":oops:" title="Zawstydzony" />  no ale jakoś nie dałem rady znów wpaść na ten ogromy babol <img src="https://forum.atnel.pl/images/smilies/icon_evil.gif" alt=":evil:" title="Zły" /> . zazdroszczę wam takiej wiedzy ale to też  mnie motywuje do dalszej nauki, tej pięknej sztuki jaką jest programowanie w &quot;C&quot;. Dziękuję Wam  <img src="https://forum.atnel.pl/images/smilies/icon_cool.gif" alt="8-)" title="Cool" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2242">ELEKTRON105</a> — 9 cze 2018, o 17:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-06-09T11:33:49+01:00</updated>
<published>2018-06-09T11:33:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208741#p208741</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208741#p208741"/>
<title type="html"><![CDATA[Re: Problem z strukturą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208741#p208741"><![CDATA[
a ja od siebie dodam, że poza oczywiście słusznymi uwagami kolegów wyżej, NAJWAŻNIEJSZE to nauczyć się jak TESTOWAĆ własny kod ....<br /><br />bo jeśli piszesz, że masz x=3 a wyświetla ci się CAŁKIEM inna wartość z tej komórki tablicy to oznacza że robisz jakiegoś TRAGICZNEGO BABOLA ... i co ? a gdyby nie było forum to nie da się tego samemu sprawdzić ? No da się i to bardzo prosto albo chociaż zbliżyć się do problemu. <br /><br /><span style="color: #0080FF">OCZYWIŚCIE ZAKŁADAM że ta twoja tablica TabPozytyw[] jest zdefiniowana w pamięci RAM ???? bo jeśli we FLASH - to robisz tego MEGA BABOLA o którym wyżej napisał kolega andrews - czyli nie stosujesz do odczytu<strong> pgm_read_byte()</strong></span><br /><br />UWAGA!<br /><br />[syntax=c]uint8_t x = 3;<br />                TabPozytyw&#91;x&#93; = 17; // &lt;------- to jest twój test ... wpisujesz sobie RĘCZNIE LICZBĘ np 17<br />                PORTB = TabPozytyw&#91;x&#93;;<br />                lcd_locate(1,0);<br />                lcd_int(x);[/syntax]<br /><br />i wywalasz na PORTB - i sprawdzasz czy się pokaże na PORTB binarnie liczba 17 ....  No toż jeśli mi to zadziała to wiem, że bzdurnie myślałem, że źle tablice obsługuję, że coś nie rozumiem z tablicami - bo działa tak jak ma działać ... TAK czy NIE ? <br /><br />Dzięki temu posunąłem się do przodu z rozwiązaniem zagadki bo wiem, że problem leży gdzie indziej w moim kodzie. TAK TAK wiem - to bardzo prosty i niektórzy powiedzą, że durny test - tymczasem niestety początkujące osoby NAWET takiego testu nie są w stanie wymyślić - więc go podpowiadam.<br /><br />---------------------------------<br /><br />ok ale co dalej ?<br /><br />no to spójrzmy na ten kod z pierwszego postu  <br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />uint8_t x = ram_cfg.poziom;   <span style="color: #FF0000"> // &lt;----- tutaj przypisujesz wartość zmiennej x ze struktury ram_cfg.poziom .... załóżmy że była tam w ram_cfg.poziom wartość = 4</span><br />       <br />   <span style="color: #0080FF">// no to teraz w tej sekcji - wartość ram_cfg.poziom zmieni ci załóżmy wartość na 6 bo załóżmy że STAN4_ON był wysoki</span><br />   <span style="color: #408000">// pomijam już fakt, że tu powinny być wszędzie else po pierwszym IF'ie wg mnie</span><br />        if(STAN0_ON)ram_cfg.poziom = 0;<br />        if(STAN1_ON)ram_cfg.poziom = 1;<br />        if(STAN2_ON)ram_cfg.poziom = 2;<br />        if(STAN3_ON)ram_cfg.poziom = 3;<br />        if(STAN4_ON)ram_cfg.poziom = 4;<br />        if(STAN5_ON)ram_cfg.poziom = 5;<br />        if(STAN6_ON)ram_cfg.poziom = 6;<br />        if(STAN7_ON)ram_cfg.poziom = 7;<br />       <br />       <span style="color: #FF0000">// &lt;---- no i teraz czego się spodziewasz ??? jakiej wartości x ??? na pewno będzie to stara wartość jeszcze z przed tych IF'ów</span><br />                PORTB = TabPozytyw[x];<br />                lcd_locate(1,0);<br />                lcd_int(x);<br /></div><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 6 minutach ]</span></strong><br /><br />a jeśli tablica TabPozytyw() - jest zdefiniowana we Flashu za pomocą PROGMEM to przecież MUSISZ pan to zrobić tak do PORTB<br /><br />[syntax=c]PORTB = pgm_read_byte( &amp;TabPozytyw&#91;x&#93; );[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 9 cze 2018, o 11:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2018-06-09T09:46:13+01:00</updated>
<published>2018-06-09T09:46:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208736#p208736</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208736#p208736"/>
<title type="html"><![CDATA[Re: Problem z strukturą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208736#p208736"><![CDATA[
Jeśli zdefiniowałeś tablicę w pamięci FLASH przy użyciu atrybutu PROGMEM, do odczytu jej elementów musisz użyć makra <strong><em>pgm_read_byte()</em></strong>:[syntax=c]// definicja tablicy<br />    const uint8_t TabPozytyw&#91;&#93; PROGMEM = {1, 2, 4, 8, 16};<br /><br />// odczyt elementu tablicy<br />    PORTB = pgm_read_byte( &amp;TabPozytyw&#91;x&#93; );[/syntax]<br /><br />Opcjonalnie możesz zdefiniować tablicę we FLASH przy użyciu kwalifikatora <strong><em>__flash</em></strong> i odczytywać jej elementy tak, jak masz w tej chwili:[syntax=c]// definicja tablicy<br />    const __flash uint8_t TabPozytyw&#91;&#93; = {1, 2, 4, 8, 16};<br /><br />// odczyt elementu tablicy<br />    PORTB = TabPozytyw&#91;x&#93;;[/syntax]<br /><br />Możesz wybrać, który sposób jest dla Ciebie wygodniejszy <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=14165">andrews</a> — 9 cze 2018, o 09:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ELEKTRON105]]></name></author>
<updated>2018-06-09T09:09:06+01:00</updated>
<published>2018-06-09T09:09:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208734#p208734</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208734#p208734"/>
<title type="html"><![CDATA[Re: Problem z strukturą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208734#p208734"><![CDATA[
W tablicy są liczby które mają zapalać ledy na porcie A i tak też działa ale tylko jeżeli wpisze fizycznie jakąś liczbę ale jeżeli za pośrednictwem zmiennej x to już zupełnie inna liczba jest wyświetlana z tablicy. Nie potrafię już jaśniej tego opisać<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 3 minutach ]</span></strong><br /><br />uint8_t const tablicy[ ] PROGMEM={ 1,2,4,8,16 }<br />Tak wygląda tablica.<br />Nie mam teraz komputera pod ręką żeby skopiować dokładniej kody<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2242">ELEKTRON105</a> — 9 cze 2018, o 09:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[janusz17]]></name></author>
<updated>2018-06-09T08:25:22+01:00</updated>
<published>2018-06-09T08:25:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208732#p208732</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208732#p208732"/>
<title type="html"><![CDATA[Re: Problem z strukturą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208732#p208732"><![CDATA[
A co w tej tablicy jest zapisane?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1226">janusz17</a> — 9 cze 2018, o 08:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ELEKTRON105]]></name></author>
<updated>2018-06-09T08:02:07+01:00</updated>
<published>2018-06-09T08:02:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208731#p208731</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208731#p208731"/>
<title type="html"><![CDATA[Re: Problem z strukturą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208731#p208731"><![CDATA[
No dobra może inaczej x =3 ,na wyświetlaczu pokazuje 3 czyli ta sama liczba jest w nawiasie kwadratowym to dlaczego z tablicy jest pobierana zupełnie inną wartość.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2242">ELEKTRON105</a> — 9 cze 2018, o 08:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2018-06-09T07:38:31+01:00</updated>
<published>2018-06-09T07:38:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208730#p208730</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208730#p208730"/>
<title type="html"><![CDATA[Re: Problem z strukturą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208730#p208730"><![CDATA[
Witam,<br />Chodzi o kolejność.<br />Program jest wykonywany linijka po linijce.<br />1. ify zapisują do struktury<br />2. teraz do x zapisz to co jest w strukturze<br />3. wyświetl x.<br /><br />Wysłane z mojego Lenovo K33a42 przy użyciu Tapatalka<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 9 cze 2018, o 07:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[janusz17]]></name></author>
<updated>2018-06-09T07:27:10+01:00</updated>
<published>2018-06-09T07:27:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208729#p208729</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208729#p208729"/>
<title type="html"><![CDATA[Re: Problem z strukturą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208729#p208729"><![CDATA[
Na początku przypisujesz zmiennej x wartość zapisaną w ram_cfg.poziom, następnie masz szereg warunków if() gdzie do zmiennej ram_cfg.poziom wpisujesz jakąś inną wartość w zależności od tego , który if jest spełniony. I teraz powinieneś do x wpisać tą nową wartość ram_cfg.poziom. Tymczasem wyświetlasz na LCD wartość x , która była przypisana na samym początku.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1226">janusz17</a> — 9 cze 2018, o 07:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ELEKTRON105]]></name></author>
<updated>2018-06-09T04:45:19+01:00</updated>
<published>2018-06-09T04:45:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208727#p208727</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208727#p208727"/>
<title type="html"><![CDATA[Problem z strukturą]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=20848&amp;p=208727#p208727"><![CDATA[
Proszę o podpowiedz w czym tkwi błąd lub niezrozumienie do końca struktur.<br />[syntax=c]uint8_t x = ram_cfg.poziom;<br /><br />if(STAN0_ON)ram_cfg.poziom = 0;<br />if(STAN1_ON)ram_cfg.poziom = 1;<br />if(STAN2_ON)ram_cfg.poziom = 2;<br />if(STAN3_ON)ram_cfg.poziom = 3;<br />if(STAN4_ON)ram_cfg.poziom = 4;<br />if(STAN5_ON)ram_cfg.poziom = 5;<br />if(STAN6_ON)ram_cfg.poziom = 6;<br />if(STAN7_ON)ram_cfg.poziom = 7;<br /><br /><br />PORTB = TabPozytyw&#91;x&#93;;<br />lcd_locate(1,0);<br />lcd_int(x);[/syntax]<br /><br />Mam taki o to kod, w którym to ma się wyświetlać  na linijce LED liczba w zależności od x . W tym problem że na lcd jest wyświetlana liczba x ,lecz ni jak się to ma do odwzorowania na pasku led.<br />Jeżeli zamiast x wstawie np. 3 to OK. na linijce jest wyświetlana ta liczba, a jeżeli zamiast niej wpiszę x to jest już zupełnie co innego  wyświetlane choć niby to też liczba 3. Czego tu nie kumam w czym problem .<br />Proszę o wskazówkę.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2242">ELEKTRON105</a> — 9 cze 2018, o 04:45</p><hr />
]]></content>
</entry>
</feed>