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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-04-26T09:24:59+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=15215&amp;mode</id>
<entry>
<author><name><![CDATA[HomoChemicus]]></name></author>
<updated>2016-04-26T09:24:59+01:00</updated>
<published>2016-04-26T09:24:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15215&amp;p=159348#p159348</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15215&amp;p=159348#p159348"/>
<title type="html"><![CDATA[Re: Problem z konwersją liczb int32_t na OLED ssd1306]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15215&amp;p=159348#p159348"><![CDATA[
Wyświetliło ci z minusem, bo &quot;przekręciłeś&quot; liczbę. Typ int sięga maksymalnie do +32 767.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10470">HomoChemicus</a> — 26 kwi 2016, o 09:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kularz]]></name></author>
<updated>2016-04-25T20:58:49+01:00</updated>
<published>2016-04-25T20:58:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15215&amp;p=159321#p159321</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15215&amp;p=159321#p159321"/>
<title type="html"><![CDATA[Re: Problem z konwersją liczb int32_t na OLED ssd1306]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15215&amp;p=159321#p159321"><![CDATA[
Dziękuje bardzo za odpowiedz. Zmieniłem na ltoa() i wszystko pięknie działa.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11027">kularz</a> — 25 kwi 2016, o 20:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2016-04-25T20:47:10+01:00</updated>
<published>2016-04-25T20:47:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15215&amp;p=159318#p159318</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15215&amp;p=159318#p159318"/>
<title type="html"><![CDATA[Re: Problem z konwersją liczb int32_t na OLED ssd1306]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15215&amp;p=159318#p159318"><![CDATA[
itoa() zmień na ltoa() lub jak chcesz bez znaku to ultoa()<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7157">anshar</a> — 25 kwi 2016, o 20:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kularz]]></name></author>
<updated>2016-04-25T20:35:02+01:00</updated>
<published>2016-04-25T20:35:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15215&amp;p=159314#p159314</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15215&amp;p=159314#p159314"/>
<title type="html"><![CDATA[Problem z konwersją liczb int32_t na OLED ssd1306]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15215&amp;p=159314#p159314"><![CDATA[
Witam.<br /><br />Korzystając z wyświetlacza oled ssd1306 z bibliotekami Pana Mirka które są opisane w poradniku VIDEO oraz procesora atmega328p napotkałem się na następujący problem. Próbując wyświetlacz liczbę  32768, na wyświetlaczu pojawia się liczba -32768 czyli z zakresu int16_t.<br /><br />Programie głównym mam zadeklarowaną zmienną:<br />[syntax=c]int32_t vsktr;[/syntax]<br />następnie w funkcji głównej przypisuje na sztywno do tej zmiennej liczbę 32768<br />[syntax=c]vsktr = 32768;[/syntax]<br /><br />W bibliotece funkcja za wyświetlanie liczby int32_t odpowiada funkcja:<br />[syntax=c]void mk_ssd1306_put_long(int x, int y, int32_t data, uint8_t txt_size, uint8_t color, uint8_t bg) {<br /><br />char buf&#91;32&#93;;<br />mk_ssd1306_puts(x, y, itoa(data, buf, 10), txt_size, color, bg);<br />}[/syntax]<br /><br />w pliku .hex<br />[syntax=c]void mk_ssd1306_put_long(int x, int y, int32_t data, uint8_t txt_size, uint8_t color, uint8_t bg);[/syntax]<br /><br /><br />A w pętli głównej liczba tą wyświetlam następująco:<br />[syntax=c]mk_ssd1306_put_long(60,44, vsktr,1,1,1);<br />mk_ssd1306_display();[/syntax]<br /><br />Sprawdzałem czy funkcja itoa konwertuje na inny typy. kiedy zmieniłem w funkcji mk_ssd1306_put_long argument int32_t data na int8_t, to w tym przypadku na wyświetlaczu pojawiła się liczba z zakresu od -128 do 127. <br />Bardzo prosiłbym o jakieś sugestie jak mogę rozwiązać ten problem.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11027">kularz</a> — 25 kwi 2016, o 20:35</p><hr />
]]></content>
</entry>
</feed>