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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2021-12-12T20:35:35+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=24&amp;t=24059&amp;mode</id>
<entry>
<author><name><![CDATA[AKSELINEK]]></name></author>
<updated>2021-12-12T20:35:35+01:00</updated>
<published>2021-12-12T20:35:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234525#p234525</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234525#p234525"/>
<title type="html"><![CDATA[Re: jak przeliczyć DEC na BIN]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234525#p234525"><![CDATA[
Jeszcze raz kolegom  bardzo dziękuję  za pomoc<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=18152">AKSELINEK</a> — 12 gru 2021, o 20:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2021-12-11T19:54:06+01:00</updated>
<published>2021-12-11T19:54:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234505#p234505</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234505#p234505"/>
<title type="html"><![CDATA[Re: jak przeliczyć DEC na BIN]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234505#p234505"><![CDATA[
<div class="quotetitle">AKSELINEK napisał(a):</div><div class="quotecontent"><br />Ja odczytuję liczbę dec z pamięci eprrom<br /></div><br />Przecież liczby w pamięci EEPROM są zapisywane w postaci binarnej, więc nic nie trzeba przeliczać.<br />[syntax=c]// definicje typów<br />typedef struct {<br />    uint8_t bit0 : 1;<br />    uint8_t bit1 : 1;<br />    uint8_t bit2 : 1;<br />    uint8_t bit3 : 1;<br />    uint8_t bit4 : 1;<br />    uint8_t bit5 : 1;<br />    uint8_t bit6 : 1;<br />    uint8_t bit7 : 1;<br />} bit_field;<br /><br />typedef union opcje opcje;<br />union opcje {<br />    uint8_t liczba;<br />    bit_field pole_bitowe;<br />    };<br />    <br />// definicja zmiennej &quot;flagi&quot;<br />opcje flagi = {0};<br /><br />// ******* w programie *******<br /><br />// odczyt wszystkich zapisanych opcji z eeprom<br />    flagi.liczba = eeprom_read_byte(...);<br /><br />// odczyt wartości bitu o indeksie 2<br />    uint8_t opcja1 flagi.pole_bitowe.bit2;<br /><br />// zmiana wartości bitu o indeksie 2<br />    flagi.pole_bitowe.bit2 = 0;<br /><br />// zapis do pamięci eeprom wszystkich zmienionych opcji<br />    eeprom_write_byte(... , flagi.liczba);[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 11 gru 2021, o 19:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mario2015]]></name></author>
<updated>2021-12-11T12:49:06+01:00</updated>
<published>2021-12-11T12:49:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234503#p234503</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234503#p234503"/>
<title type="html"><![CDATA[Re: jak przeliczyć DEC na BIN]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234503#p234503"><![CDATA[
Prościej będzie sposobem jaki ci podsunął kolega Marhef.<br />Do programu dołącz bibliotekę<br />[syntax=c]#include &lt;stdlib.h&gt;[/syntax]<br />A później w kodzie<br />[syntax=c]char bufor&#91;8&#93;;<br />short dec;[/syntax]<br />i dalej<br />[syntax=c]itoa (dec,bufor,2);<br />lcd_locate(1,0);<br />lcd_str(bufor);[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8867">mario2015</a> — 11 gru 2021, o 12:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Marhef]]></name></author>
<updated>2021-12-11T11:47:20+01:00</updated>
<published>2021-12-11T11:47:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234502#p234502</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234502#p234502"/>
<title type="html"><![CDATA[Re: jak przeliczyć DEC na BIN]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234502#p234502"><![CDATA[
A ja nie do końca pojmuję, z czym masz problem.<br />Jeżeli chcesz uzależnić program od parametrów, to robisz to przez maskowanie.<br />Jeśli chcesz wyświetlić na LCD, to któraś z funkcji do wyświetlania ma chyba opcję wyświetlania w BIN (albo to w delphi było).<br />--------------- EDIT:<br />To jednak nie w delphi i nie w funkcji do wyświetlania. Funkcja itoa przyjmuje jako trzeci argument podstawę systemu, w jakim ma być wyświetlane (2-BIN, 10-dziesiętny, 16-HEX...). No i dalej już wyświetlanie jako tekst.<br />--------------- EDIT koniec;<br />A w Twoim rozwiązaniu widzę dwa błędy (a nawet trzy).<br />W przeliczaniu licznik pętli ustawiasz od 7, nie 8. Tablica ośmioelementowa ma indeksy od 0 do 7 (to samo dotyczy wyświetlania).<br />Dlaczego na wyświetlaczu wyświetlasz co drugi znak?<br />I w Twoim rozwiązaniu będziesz miał wyrównanie do prawej strony (np. 7 nie będziesz miał 00000111, tylko 111 (a dalej same zera).<br /><br />I albo obliczanie albo wyświetlanie masz w złą stronę (sprawdziłem <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=12752">Marhef</a> — 11 gru 2021, o 11:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[AKSELINEK]]></name></author>
<updated>2021-12-11T01:04:30+01:00</updated>
<published>2021-12-11T01:04:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234501#p234501</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234501#p234501"/>
<title type="html"><![CDATA[Re: jak przeliczyć DEC na BIN]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234501#p234501"><![CDATA[
Tak trochę poczytałem i  wymyśliłem tak.  <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> <br /><br />    [syntax=c]short  dec;<br />    uint8_t bin&#91;8&#93; ;<br />    uint8_t i,wynik,reszta;<br /><br />wynik=5;<br />dec=wynik;<br /><br />lcd_cls();<br />for (i = 8; i&gt;0; i--)<br /><br />                {<br />                   <br />                        reszta = dec%2;<br />                        dec=dec/2;<br />                        bin&#91;i&#93;=reszta;                      <br /><br /><br />                }[/syntax]<br />l       [syntax=c]cd_locate(1, 0);<br />lcd_int(bin&#91;8&#93;);<br /><br />lcd_locate(1, 2);<br />lcd_int(bin&#91;7&#93;);<br /><br />lcd_locate(1, 4);<br />lcd_int(bin&#91;6&#93;);<br /><br />lcd_locate(1, 6);<br />lcd_int(bin&#91;5&#93;);<br /><br />lcd_locate(1, 8);<br />lcd_int(bin&#91;4&#93;);<br /><br />lcd_locate(1, 10);<br />lcd_int(bin&#91;3&#93;);<br /><br />lcd_locate(1, 12);<br />lcd_int(bin&#91;2&#93;);<br /><br />lcd_locate(1, 14);<br />lcd_int(bin&#91;1&#93;);[/syntax]<br />Tylko czy na pewno będzie dobrze??<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=18152">AKSELINEK</a> — 11 gru 2021, o 01:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[JanuszT]]></name></author>
<updated>2021-12-10T23:39:26+01:00</updated>
<published>2021-12-10T23:39:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234500#p234500</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234500#p234500"/>
<title type="html"><![CDATA[Re: jak przeliczyć DEC na BIN]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234500#p234500"><![CDATA[
Witam<br />Poczytaj o operatorze  % w języku C.<br /><br />Pozdrawiam<br />Janusz<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4367">JanuszT</a> — 10 gru 2021, o 23:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[AKSELINEK]]></name></author>
<updated>2021-12-10T22:55:27+01:00</updated>
<published>2021-12-10T22:55:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234499#p234499</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234499#p234499"/>
<title type="html"><![CDATA[Re: jak przeliczyć DEC na BIN]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234499#p234499"><![CDATA[
Masz racje z tym maskowaniem sposób jest na pewno prosty , że banalny ale spróbuję przez pętlę.<br />Nawet dla poćwiczenia języka c i mojego umysłu <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br />Tylko jak określić w języku C spełnienie warunku że reszty nie ma czyli liczba się dzieli bez reszty i przejmujemy  wartość 0   albo że jest w/w reszta i przyjmujemy warunek 1 ?<br /><br />Zapytam inaczej bo może nie dokładnie zadałem pytanie .<br />Dwa warunki :<br /><br />Liczba dzieli się przez 2 bez reszty           to   uint8_t  zmienna=0;<br />Liczba nie dzieli się przez 2 i jest reszta    to  uint8_t   zmienna=1;<br /><br />Jak określić to przy  pomocy języka C ? <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=18152">AKSELINEK</a> — 10 gru 2021, o 22:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[micky]]></name></author>
<updated>2021-12-10T22:41:30+01:00</updated>
<published>2021-12-10T22:41:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234498#p234498</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234498#p234498"/>
<title type="html"><![CDATA[Re: jak przeliczyć DEC na BIN]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234498#p234498"><![CDATA[
Poczytaj o maskach.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1546">micky</a> — 10 gru 2021, o 22:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[AKSELINEK]]></name></author>
<updated>2021-12-10T22:53:08+01:00</updated>
<published>2021-12-10T22:38:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234497#p234497</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234497#p234497"/>
<title type="html"><![CDATA[Re: jak przeliczyć DEC na BIN]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234497#p234497"><![CDATA[
Tak tak kalkulator obliczy .<br />Ja odczytuję liczbę dec  z pamięci eprrom aby potem zamienić na wartość binarną ponieważ poszczególne bity określają zapis ośmiu parametrów.<br />Kalkulatorem to to obliczam super  <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> <br />Ale chcę programem .<br />Podpowiedź jest super z tymi resztami tylko jakie operatory w języku C określą że jest reszta czy nie ma ?<br /><br />Myślę użyć pętli for.<br /><br />[syntax=c]uint8_t  dec;<br />char uint8_t bin&#91;8&#93; ; // infestuje mnie tylko jeden bajt<br />uint8_t i,wynik,reszta;<br />for (i = 8; i=0; i --)<br /><br />                {<br />                        wynik = dec/2;   // dzielę  jak napisałeś<br />                        //reszta=??????????????????   0 lub 1<br />                        bin&#91;i&#93; =reszta ;   // jaki warunek określić że wynik jest bez reszty czyli 0 albo jest reszta czyli 1<br />                <br />                }[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=18152">AKSELINEK</a> — 10 gru 2021, o 22:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mario2015]]></name></author>
<updated>2021-12-10T22:25:54+01:00</updated>
<published>2021-12-10T22:25:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234496#p234496</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234496#p234496"/>
<title type="html"><![CDATA[Re: jak przeliczyć DEC na BIN]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234496#p234496"><![CDATA[
Samemu możesz obliczyć np. tak 13 to będzie dwójkowo:<br /><br />13/ 2 = 6 i 1 reszty<br />6/2 =  3 i 0 reszty <br />3/2 =  1 i 1 reszty <br />1/2 =  0 i 1 reszty<br /><br />Zapisujemy reszty od końca 1101.<br />Ale tak jak napisał kolega wyżej włączasz kalkulator w WIN-dzie w trybie &quot;programisty&quot;.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8867">mario2015</a> — 10 gru 2021, o 22:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tonygryps]]></name></author>
<updated>2021-12-10T21:34:13+01:00</updated>
<published>2021-12-10T21:34:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234495#p234495</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234495#p234495"/>
<title type="html"><![CDATA[Re: jak przeliczyć DEC na BIN]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234495#p234495"><![CDATA[
kalkulator w win ma taką opcję.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12014">tonygryps</a> — 10 gru 2021, o 21:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[AKSELINEK]]></name></author>
<updated>2021-12-10T21:46:17+01:00</updated>
<published>2021-12-10T21:32:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234494#p234494</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234494#p234494"/>
<title type="html"><![CDATA[jak przeliczyć DEC na BIN]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24059&amp;p=234494#p234494"><![CDATA[
Witam.<br />Mam problem z przeliczaniem liczby DEC na postać binarną BIN.<br />Potrzebuję przeliczyć liczbę np.<br />[syntax=c]uint8_t  liczba;[/syntax]<br />Na poszczególne wartości bitów np.  <br />[syntax=c]uint8_t bit7,bit6,bit5,bit4,bit3,bit2,bit1,bit0;[/syntax]<br /><br />Jest na pewno prosty sposób jak można przy pomocy języka C to zrobić ?<br />coś tak zacząłem próbować  <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> <br />       [syntax=c]if(liczba&gt;=128) bit7=1;   <br />if(liczba&lt;128) bit7=0;<br />reszta = nast_ind0-128;     <br />if (reszta&gt;=64)    bit6=1;<br />if (reszta&lt;64)     bit6=0;<br />reszta = reszta-64;          <br />if (reszta&gt;=32)    bit5=1;<br />if (reszta&lt;32)     bit5=0;<br />reszta = reszta-32;           // 24    1<br />if (reszta&gt;=16)    bit4=1;<br />if (reszta&lt;16)     bit4=0;<br />reszta = reszta-16;           // 8     1<br />if (reszta&gt;=8)     bit3=1;<br />if (reszta&lt;8)      bit3=0;<br />     reszta = reszta-8;           // 0<br />     if (reszta&gt;=4)    bit2=1;<br />     if (reszta&lt;4)     bit2=0;<br />     reszta = reszta-4;<br />     if (reszta&gt;=2)    bit1=1;<br />     if (reszta&lt;2)     bit1=0;<br />     reszta = reszta-1<br />     if (reszta&gt;=1)    bit0=1;<br />     if (reszta&lt;1)     bit0=0;;[/syntax]<br /><br />Gdzie robię błąd bo żle przelicza  <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> <br />Może innym prostszym sposobem używając przesunięcia bitowego?<br />Czy zamienić zmienną liczbę na char liczba[8];  i wyciągać z tablicy poszczególne elementy ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=18152">AKSELINEK</a> — 10 gru 2021, o 21:32</p><hr />
]]></content>
</entry>
</feed>