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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2022-11-26T11:15:16+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=24357&amp;mode</id>
<entry>
<author><name><![CDATA[mario2015]]></name></author>
<updated>2022-11-26T11:15:16+01:00</updated>
<published>2022-11-26T11:15:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24357&amp;p=236212#p236212</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24357&amp;p=236212#p236212"/>
<title type="html"><![CDATA[Re: Dodawanie _UINT16_T do _UINT32_T]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24357&amp;p=236212#p236212"><![CDATA[
Do biblioteki LCD-ka dopisz sobie taką funkcję:<br />[syntax=c]void lcd_uint32(uint32_t val)<br />{<br />char bufor&#91;17&#93;;<br />lcd_str( ltoa(val, bufor, 16) );<br />}[/syntax]<br />lub<br />[syntax=c]void lcd_int32(int32_t val)<br />{<br />char bufor&#91;17&#93;;<br />lcd_str( ltoa(val, bufor, 16) );<br />}[/syntax]<br />Nie wiem, która dla twoich potrzeb będzie prawidłowa.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8867">mario2015</a> — 26 lis 2022, o 11:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[AKSELINEK]]></name></author>
<updated>2022-11-25T20:52:12+01:00</updated>
<published>2022-11-25T20:52:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24357&amp;p=236211#p236211</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24357&amp;p=236211#p236211"/>
<title type="html"><![CDATA[Re: Dodawanie _UINT16_T do _UINT32_T]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24357&amp;p=236211#p236211"><![CDATA[
Czyli problem jest w wyświetlaniu a nie wyniku?<br />I teraz to zrozumiałem.<br />Dlaczego chcę zamieniać UINT32_T na UINT16_T   Ponieważ liczba będąca sumą wyników cyklicznie dodawanych co dobę nie wystarczy na 365 dni , w związku z tym zrobię inaczej suma będzie dodawała się do<br />zmiennej   UINT32_T a może co miesiąc podzielę ją i wyświetlę  jako UINT32_T albo może gdzieś dopadnę te w/w fukcję.<br />Przynajmniej wiem gdzie jest problem dzięki.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=18152">AKSELINEK</a> — 25 lis 2022, o 20:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mario2015]]></name></author>
<updated>2022-11-25T13:40:48+01:00</updated>
<published>2022-11-25T13:40:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24357&amp;p=236210#p236210</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24357&amp;p=236210#p236210"/>
<title type="html"><![CDATA[Re: Dodawanie _UINT16_T do _UINT32_T]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24357&amp;p=236210#p236210"><![CDATA[
Gdzie widzisz problem, przecież jak dodajesz do zmiennej 16bit zmienną 32bit to w wyniku dostaniesz zmienną 32bit (tzw. promocja do int czy jakoś tak się to nazywa, czyli do większej zmiennej)<br />Czyli reasumując: jeśli dodasz np: 56+300 to liczba wyniesie 356.<br />Poniżej masz kod, który sprawdziłem w kompilatorze online.<br />Kod i wynik z terminala.<br />[syntax=c]/******************************************************************************<br /><br />                            Online C Compiler.<br />                Code, Compile, Run and Debug C program online.<br />Write your code in this editor and press &quot;Run&quot; button to compile and execute it.<br /><br />*******************************************************************************/<br /><br />#include &lt;stdio.h&gt;<br />#include &lt;stdint.h&gt;<br /><br />uint16_t a;<br />uint32_t b;<br /><br /><br /><br />int main()<br />{<br />   a = 56; <br />   b = a+300; <br />    printf(&quot;Wartość b =  %d&quot;,b);<br /><br />    return 0;<br />}[/syntax]<br /><br /><a href="https://obrazkiforum.atnel.pl/8867/1df8cec1e5bea35a49c22a8778b575fa.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/8867/1df8cec1e5bea35a49c22a8778b575fa.jpg" alt="Obrazek" /></a><br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Nie znalazłem przykładu .<br />I ewentualnie jak zrobić konwersje odwrotnie? <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /></div><br />Co masz na myśli odwrotnie? Chcesz zapisać liczbę uint32_t do zmiennej uint16_t?<br />Jeśli tak, to możesz zrobić jawne rzutowanie do uint16_t ale jeśli wynik będzie większy niż zakres uint16_t, to kompilator nie będzie krzyczał ale otrzymasz nieprawidłowe dane.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8867">mario2015</a> — 25 lis 2022, o 13:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Marhef]]></name></author>
<updated>2022-11-25T12:08:40+01:00</updated>
<published>2022-11-25T12:08:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24357&amp;p=236209#p236209</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24357&amp;p=236209#p236209"/>
<title type="html"><![CDATA[Re: Dodawanie _UINT16_T do _UINT32_T]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24357&amp;p=236209#p236209"><![CDATA[
Zmień funkcję do wyświetlania. ALbo dopisz sobie funkcję lcd_long(uint32_t val).<br />Sprawdź, jak wygląda funkcja Mirka. Tam do zamiany liczby na tekst jest użyte itoa (int na tekst). W Twojej będzie ltoa (long na tekst).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12752">Marhef</a> — 25 lis 2022, o 12:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[AKSELINEK]]></name></author>
<updated>2022-11-24T21:35:46+01:00</updated>
<published>2022-11-24T21:35:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24357&amp;p=236207#p236207</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24357&amp;p=236207#p236207"/>
<title type="html"><![CDATA[Re: Dodawanie _UINT16_T do _UINT32_T]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24357&amp;p=236207#p236207"><![CDATA[
Tej funkcji  nie mam w bibliotece  niestety wywala Warninga niestety.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=18152">AKSELINEK</a> — 24 lis 2022, o 21:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[JarekB]]></name></author>
<updated>2022-11-24T21:07:34+01:00</updated>
<published>2022-11-24T21:07:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24357&amp;p=236205#p236205</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24357&amp;p=236205#p236205"/>
<title type="html"><![CDATA[Re: Dodawanie _UINT16_T do _UINT32_T]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24357&amp;p=236205#p236205"><![CDATA[
lcd_long( uint32_t val );<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=18188">JarekB</a> — 24 lis 2022, o 21:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[AKSELINEK]]></name></author>
<updated>2022-11-24T21:01:14+01:00</updated>
<published>2022-11-24T21:01:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24357&amp;p=236204#p236204</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24357&amp;p=236204#p236204"/>
<title type="html"><![CDATA[Re: Dodawanie _UINT16_T do _UINT32_T]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24357&amp;p=236204#p236204"><![CDATA[
Wpisałem jak napisałeś :<br /><br />               [syntax=c]a= 56;<br />b = (uint32_t)a + 300;<br /><br />lcd_locate(0,0);<br />lcd_int(a);<br />lcd_locate(1,0);<br />lcd_int(b);[/syntax]<br /><br />I niestety wyświetlacz LCD   pokazał :<br />56<br />0<br />Chyba że funkcja lcd_int(b);  nie przyjmuje wartości uint32_t ????<br /><br />Wpisałem tak :<br />[syntax=c]lcd_int((uint32_t)bb);[/syntax]<br /><br />Też nic czyli 0  <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> — 24 lis 2022, o 21:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Marhef]]></name></author>
<updated>2022-11-24T10:54:40+01:00</updated>
<published>2022-11-24T10:54:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24357&amp;p=236200#p236200</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24357&amp;p=236200#p236200"/>
<title type="html"><![CDATA[Re: Dodawanie _UINT16_T do _UINT32_T]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24357&amp;p=236200#p236200"><![CDATA[
Może tak:<br />b = (uint32_t)a + 300;<br />A odwrotnie to odwrotnie <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=12752">Marhef</a> — 24 lis 2022, o 10:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[AKSELINEK]]></name></author>
<updated>2022-11-23T22:32:27+01:00</updated>
<published>2022-11-23T22:32:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24357&amp;p=236199#p236199</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24357&amp;p=236199#p236199"/>
<title type="html"><![CDATA[Dodawanie _UINT16_T do _UINT32_T]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24357&amp;p=236199#p236199"><![CDATA[
Witam.<br />Pytanie może jest banalne ale nie mogę sobie z tym poradzić i wracam się z prośbą o podpowiedz.<br /><br />W pewnym pracującym urządzeniu zapisuje pomiary  do zmiennej _UINT 16t  niestety wartość jest dodawana co pewien czas i z obawy o przekroczenie zakresu maksymalnej wartości  UINT_16 T chciałbym<br />wynik przekonwertować do zmiennej UINT 32 T  .<br /><br />uint16_t  a;<br />uint32_t  b;<br /><br />a= 56;<br />to jak zrobić żeby np:  b=a+300; <br /><br />Nie znalazłem przykładu .<br />I ewentualnie jak zrobić konwersje odwrotnie?  <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> — 23 lis 2022, o 22:32</p><hr />
]]></content>
</entry>
</feed>