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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-07-10T12:22:51+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=15745&amp;mode</id>
<entry>
<author><name><![CDATA[ShutDownSystem]]></name></author>
<updated>2016-07-10T12:22:51+01:00</updated>
<published>2016-07-10T12:22:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15745&amp;p=163781#p163781</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15745&amp;p=163781#p163781"/>
<title type="html"><![CDATA[Re: Typy zmiennych i funkcja]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15745&amp;p=163781#p163781"><![CDATA[
Wszystko jasne, dzięki!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4804">ShutDownSystem</a> — 10 lip 2016, o 12:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-07-08T15:52:57+01:00</updated>
<published>2016-07-08T15:52:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15745&amp;p=163666#p163666</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15745&amp;p=163666#p163666"/>
<title type="html"><![CDATA[Re: Typy zmiennych i funkcja]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15745&amp;p=163666#p163666"><![CDATA[
Tak jak napisali koledzy wcześniej ja tylko dodam, że akurat rzutowanie w tym przypadku podczas przypisania zmiennej 8-bitowej do zmiennej 16-bitowej podczas gdy obydwie są typu uint ... może nastąpić absolutnie bezstratnie - to dlatego w takiej sytuacji może bez najmniejszego problemu zajść niejawne rzutowanie.<br /><br />Gdybyś chciał zrobić <br /><br />[syntax=c]uint16_t a = 513;<br /><br />uint8_t b = a;[/syntax]<br /><br />no to już jak sam się domyślasz bez stratnie nie dałoby się tego zrobić - i wtedy kompilator zdecydowanie by się przypomniał warningiem<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 8 lip 2016, o 15:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2016-07-08T15:22:57+01:00</updated>
<published>2016-07-08T15:22:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15745&amp;p=163664#p163664</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15745&amp;p=163664#p163664"/>
<title type="html"><![CDATA[Re: Typy zmiennych i funkcja]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15745&amp;p=163664#p163664"><![CDATA[
Jest to tak zwane niejawne rzutowanie typu uint16_t na uint8_t. Kompilator GCC nie widzi tutaj problemu, inne kompilatory mogą sygnalizować takie niejawne rzutowanie warningiem, a nawet błędem.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7157">anshar</a> — 8 lip 2016, o 15:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[drewpol]]></name></author>
<updated>2016-07-08T15:21:19+01:00</updated>
<published>2016-07-08T15:21:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15745&amp;p=163663#p163663</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15745&amp;p=163663#p163663"/>
<title type="html"><![CDATA[Re: Typy zmiennych i funkcja]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15745&amp;p=163663#p163663"><![CDATA[
Wydaje mi się, że następuje tutaj niejawne rzutowanie typów uint16_t na uint8_t. Efektem tego może być zapisanie w zmiennej &quot;bajtek&quot; tylko pierwszego bajtu dwubajtowej zmiennej &quot;data&quot;.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8379">drewpol</a> — 8 lip 2016, o 15:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ShutDownSystem]]></name></author>
<updated>2016-07-08T14:50:42+01:00</updated>
<published>2016-07-08T14:50:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=15745&amp;p=163662#p163662</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=15745&amp;p=163662#p163662"/>
<title type="html"><![CDATA[Typy zmiennych i funkcja]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=15745&amp;p=163662#p163662"><![CDATA[
Witam serdecznie, mam pewnie bardzo mały i drobny problem. Otóż mam funkcję: <br /><br />[syntax=c]uint8_t revByte( uint8_t bajtek ) {<br />uint8_t revbajtek = 0;<br />for(uint8_t i=0;i&lt;8;i++) {<br />     revbajtek |= ((bajtek&gt;&gt;i) &amp; 1)&lt;&lt;(7-i);<br />}<br />return revbajtek;<br />}[/syntax]<br />wywołuje ją w ten sposób: <br />[syntax=c]uint8_t revdata = revByte( data );[/syntax]<br /><br />Problem w zrozumieniu leży w tym, że zmienna data jest [syntax=c]volatile uint16_t data = 0;[/syntax] - innego typu, a kompilacja przechodzi bez żadnego problemu, nawet warninga.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4804">ShutDownSystem</a> — 8 lip 2016, o 14:50</p><hr />
]]></content>
</entry>
</feed>