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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2022-12-16T22:13:48+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=24&amp;t=24363&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2022-12-16T22:13:48+01:00</updated>
<published>2022-12-16T22:13:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24363&amp;p=236251#p236251</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24363&amp;p=236251#p236251"/>
<title type="html"><![CDATA[Re: Rozdzielenie liczby uint16_t  na cyfry do tablicy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24363&amp;p=236251#p236251"><![CDATA[
<div class="quotetitle">daro0606 napisał(a):</div><div class="quotecontent"><br />Ja się uczę i nie wiem czy dobrze to powiedziałem po &quot;fachowemu&quot;<br /></div><br />kodzik źródłowy mówi sam za siebie <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> — 16 gru 2022, o 22:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[daro0606]]></name></author>
<updated>2022-12-16T19:30:32+01:00</updated>
<published>2022-12-16T19:30:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24363&amp;p=236250#p236250</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24363&amp;p=236250#p236250"/>
<title type="html"><![CDATA[Re: Rozdzielenie liczby uint16_t  na cyfry do tablicy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24363&amp;p=236250#p236250"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />a ty wrzucasz jakiś dodatkowy parametr &quot; Data/=10&quot;.<br />Co chciałeś tym osiągnąć?<br /></div><br /><br />Zmienna Data &quot;123&quot; jest dzielona przez 10 a wynik jest umieszczany w zmienną Data za każdym razem jak wykona się blok instrukcji ta liczba jest zmniejszana o ostatnią. <br /><br />Ja się uczę i nie wiem czy dobrze to powiedziałem po &quot;fachowemu&quot;<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=19536">daro0606</a> — 16 gru 2022, o 19:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2022-12-14T20:42:28+01:00</updated>
<published>2022-12-14T20:42:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24363&amp;p=236247#p236247</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24363&amp;p=236247#p236247"/>
<title type="html"><![CDATA[Re: Rozdzielenie liczby uint16_t  na cyfry do tablicy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24363&amp;p=236247#p236247"><![CDATA[
<div class="quotetitle">mario2015 napisał(a):</div><div class="quotecontent"><br />Przecież składnia pętli for wygląda tak:<br /></div><br />A tak z ciekawości zapytam, dotarłeś już w naszym kursie C do pętli for() ... bo coś czuję , że nie jeśli dla ciebie nie jest jasne co kolega tu robi w nie z tym Data /= 10, ... zauważ że jest przecinek po tym<br /><br />Zaś w kompilatorze OnLine wpisz sobie to nieco inaczej - o tak:<br /><br />[syntax=c]#include &lt;stdio.h&gt;<br />#include &lt;stdint.h&gt;<br /><br />int i_;<br />    int16_t Data =123;<br />    char TAB&#91;6&#93; ={0, 0, 0, 0, 0, '\0'};<br /><br />int main()<br />{<br /><br />    <br />    for (i_ = 5; i_ &gt; 0; Data /= 10, i_--) {<br />       TAB&#91;i_ - 1&#93; = (Data % 10)+0x30;<br />       printf( &quot;wynik z tablicy %c\n&quot;, TAB&#91;i_ - 1&#93;);<br />    }<br />}[/syntax]<br /><br />i sprawdź co zobaczysz - bo teraz zobaczyłeś w swoim kodzie czyste kody ASCII a tym sposobem zobaczysz znaki ASCII tych kodów i co robi kod tego kolegi<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 2 minutach ]</span></strong><br /><br /><div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />(Data % 10)+0x30;<br /></div><br />Oczywiście takie coś lepiej zapisać w kodzie w ten sposób:<br /><br />[syntax=c]TAB&#91;i_ - 1&#93; = (Data % 10)+'0';[/syntax]<br />wtedy innym łatwiej jest nieco zrozumieć co tu się dzieje - ale o tym też już mówiliśmy w kursie C<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 4 minutach ]</span></strong><br /><br />a jeszcze lepiej pritf'a daj sobie tak <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />[syntax=c]printf( &quot;wynik z tablicy %d kod ASCCI -&gt; %c \n&quot;, TAB&#91;i_ - 1&#93;, TAB&#91;i_ - 1&#93;);[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 14 gru 2022, o 20:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mario2015]]></name></author>
<updated>2022-12-14T16:45:20+01:00</updated>
<published>2022-12-14T16:45:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24363&amp;p=236246#p236246</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24363&amp;p=236246#p236246"/>
<title type="html"><![CDATA[Re: Rozdzielenie liczby uint16_t  na cyfry do tablicy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24363&amp;p=236246#p236246"><![CDATA[
<div class="quotetitle">daro0606 napisał(a):</div><div class="quotecontent"><br />Ja robię <br /><br />int16 Data =123;<br />char TAB[6] ={0, 0, 0, 0, 0, '\0'};   <br /><br /> for (i_ = 5; i_ &gt; 0; Data /= 10, i_--) {   <br />      TAB[i_ - 1] = (Data % 10)+0x30;<br />    }<br /></div><br /><br />Możesz mi powiedzieć jak rozszyfrować tę twoją pętlą<br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />for (i_ = 5; i_ &gt; 0; Data /= 10, i_--)<br /></div><br /><br />Przecież składnia pętli for wygląda tak:<br />[syntax=c]for ( i=5; i&gt;0; i--)[/syntax]<br />czyli dla i=5 wykonuj pętlę i dopóki i jest większe od 0 to dekrementuj i ,<br />a ty wrzucasz jakiś dodatkowy parametr &quot; Data/=10&quot;.<br />Co chciałeś tym osiągnąć?<br />Po wpisaniu twojego kodu do kompilatora online, uzyskałem takie o to wyniki:<br /><a href="https://obrazkiforum.atnel.pl/8867/18fef99c9b8386a7af7373bacdacd76e.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/8867/18fef99c9b8386a7af7373bacdacd76e.jpg" alt="Obrazek" /></a><br />Więc jak ty chciałeś uzyskać wynik 123?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8867">mario2015</a> — 14 gru 2022, o 16:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mario2015]]></name></author>
<updated>2022-12-13T08:28:12+01:00</updated>
<published>2022-12-13T08:28:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24363&amp;p=236244#p236244</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24363&amp;p=236244#p236244"/>
<title type="html"><![CDATA[Re: Rozdzielenie liczby uint16_t  na cyfry do tablicy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24363&amp;p=236244#p236244"><![CDATA[
Dla 4 liczb:<br />pomiar_pradu[3] = zmienna/1000;<br />pomiar_pradu[2] = (zmienna/100)%10;<br />pomiar_pradu[1] = (zmienna/10)%10;<br />pomiar_pradu[0] = zmienna%10;<br /><br />dla 5 liczb:<br />pomiar_pradu[4] = zmienna/10000;<br />pomiar_pradu[3] = (zmienna/1000)%10;<br />pomiar_pradu[2] = (zmienna/100)%10;<br />pomiar_pradu[1] = (zmienna/10)%10;<br />pomiar_pradu[0] = zmienna%10;<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8867">mario2015</a> — 13 gru 2022, o 08:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[AKSELINEK]]></name></author>
<updated>2022-12-12T20:38:15+01:00</updated>
<published>2022-12-12T20:38:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24363&amp;p=236239#p236239</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24363&amp;p=236239#p236239"/>
<title type="html"><![CDATA[Re: Rozdzielenie liczby uint16_t  na cyfry do tablicy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24363&amp;p=236239#p236239"><![CDATA[
Dzięki   mario2015  super zadziałało jeszcze raz dzięki za pomoc .<br />Przeliczenie na pewno dla mnie banalne ale pewnie 30 lat temu , dzięki za podpowiedz bo ruszę dalej z programem mającym na celu stworzenia programu do pomiaru ile mocy uzyskam z jednego panela<br />fotowoltaicznego ładującego akumulator 44Ah.<br />Do tego celu program będzie wykonywał pomiar napięcia i prądu i wykonywał zapis na kartę SD (pomocna tu biblioteka FAT FS).<br />Teraz panel wiele mocy nie daje to mam czas na pisanie programu.<br /><br />Jak zrobić żeby była jeszcze jedna  cyfra? pomiar_pradu[3] ?<br /><br />Przykład   daro0606 coś nie ruszył i nie wiem bo dlaczego ?  przykład trochę za trudny  nie kompiluje się.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=18152">AKSELINEK</a> — 12 gru 2022, o 20:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[daro0606]]></name></author>
<updated>2022-12-11T16:21:39+01:00</updated>
<published>2022-12-11T16:21:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24363&amp;p=236237#p236237</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24363&amp;p=236237#p236237"/>
<title type="html"><![CDATA[Re: Rozdzielenie liczby uint16_t  na cyfry do tablicy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24363&amp;p=236237#p236237"><![CDATA[
Ja robię <br /><br />int16 Data =123;<br />char TAB[6] ={0, 0, 0, 0, 0, '\0'};   <br /><br /> for (i_ = 5; i_ &gt; 0; Data /= 10, i_--) {   <br />      TAB[i_ - 1] = (Data % 10)+0x30;<br />    }<br /><br />wyjdzie<br />TAB[0] = 0<br />TAB[1] = 0<br />TAB[2] = 0<br />TAB[3] = 1<br />TAB[4] = 2<br />TAB[5] = 3<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=19536">daro0606</a> — 11 gru 2022, o 16:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mario2015]]></name></author>
<updated>2022-12-11T12:12:01+01:00</updated>
<published>2022-12-11T12:12:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24363&amp;p=236236#p236236</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24363&amp;p=236236#p236236"/>
<title type="html"><![CDATA[Re: Rozdzielenie liczby uint16_t  na cyfry do tablicy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24363&amp;p=236236#p236236"><![CDATA[
Jeżeli chodzi o liczbę 3 cyfrową, to możesz to zrobić w taki sposób:<br /><br />pomiar_pradu[2] = zmienna/100;<br />pomiar_pradu[1] = (zmienna/10)%10;<br />pomiar_pradu[0] = zmienna%10;<br /><br />zakładając, że nie używasz przecinka w zmiennej &quot;zmienna&quot;, bo to tego potrzebował byś zmiennej typu float a nie uint16_t.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8867">mario2015</a> — 11 gru 2022, o 12:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[AKSELINEK]]></name></author>
<updated>2022-12-11T11:50:08+01:00</updated>
<published>2022-12-11T11:50:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24363&amp;p=236235#p236235</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24363&amp;p=236235#p236235"/>
<title type="html"><![CDATA[Rozdzielenie liczby uint16_t  na cyfry do tablicy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24363&amp;p=236235#p236235"><![CDATA[
Witam.<br />Pytanie może trochę banalne ale sprawia mi problem.<br />Odczytuje wartość zmiennej  uint16_t  wartość ta odpowiada pomiarowi prądu ale np.  1,65 A  jest  jako 165  ponieważ potem jest potrzeba zapisu danych na kartę SD ale w postaci z oddzieleniem przecinkiem<br />i tu powstaje pytanie - w jaki prosty sposób zmienić w/w liczbę  uint16_t = 165  na zapis pojedynczych cyfr do tablicy  czyli np.  char pomiar_pradu [4] ;  aby wynikiem zapisu było  :<br /><br />pomiar_pradu[4]=0;<br />pomiar_pradu[3]=0;<br />pomiar_pradu[2]=1;<br />pomiar_pradu[1]=6;<br />pomiar_pradu[0]=5;<br /><br />Jest jakiś szybki sposób?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=18152">AKSELINEK</a> — 11 gru 2022, o 11:50</p><hr />
]]></content>
</entry>
</feed>