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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-09-05T10:56:34+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=12854&amp;mode</id>
<entry>
<author><name><![CDATA[andrzej381]]></name></author>
<updated>2015-09-05T10:56:34+01:00</updated>
<published>2015-09-05T10:56:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12854&amp;p=139156#p139156</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12854&amp;p=139156#p139156"/>
<title type="html"><![CDATA[Re: warning-i  -- jak je wytłumaczyć]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12854&amp;p=139156#p139156"><![CDATA[
dziękuję Panie Mirku za obszerne wytłumaczenie sprawy. Tak jak czułem trzeba prawidłowo skonfigurować kompilator. Przyznaję że za bardzo nie znam AS. Cóż - człowiek całe życie się uczy!<br /><br />Pisałem że używam Eclipsa (i tam nie mam problemów z kompilacją) ale chcę poznać rówież AS. A to nie jest zbrodnia.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 19 minutach ]</span></strong><br /><br />niestety, opcję kompilatora mam ustawioną (próbowałem ją również wyłączyć i ponownie ją włączyć)<br /><a href="https://obrazkiforum.atnel.pl/308/faa8dc5a566186d93bf58f20d2013272.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/308/faa8dc5a566186d93bf58f20d2013272.jpg" alt="Obrazek" /></a><br /><br />chyba że trzeba jeszcze coś przestawić  <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> OK, zamykam temat.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=308">andrzej381</a> — 5 wrz 2015, o 10:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2015-09-05T10:44:44+01:00</updated>
<published>2015-09-05T10:44:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12854&amp;p=139155#p139155</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12854&amp;p=139155#p139155"/>
<title type="html"><![CDATA[Re: warning-i  -- jak je wytłumaczyć]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12854&amp;p=139155#p139155"><![CDATA[
<div class="quotetitle">PROTON napisał(a):</div><div class="quotecontent"><br />Używasz char, czuli zmiennej z zakresu -128 do 127. Spróbuj unsigned char, wtedy będzie miała zakres od 0 do 255.<br /></div><br />Nie trzeba używać unsigned char<br /><br />Gdyby sobie autor kompilował w Eclipse to nie miałby żadnego warninga<br /><br />Gdyby sobie autor kompilował w poprawnie skonfigurowanym AS też nie miałby warninga<br /><br />a tak ? ... bez pojęcia o AS .... zabieramy się za kobyłę, której nawet nie potrafimy skonfigurować a później piszemy po internecie, że w kodach z Bluebooka są warningi albo że nie da się skompilować<br /><br />Wyjaśnienie: ... dlaczego gdyby była kompilacja w Eclipse to nie byłoby warningów ? czary jakieś czy co ?<br /><br />żadne czary - DOMYŚLNIE przy kompilacji w AVR GCC typ char zamieniany jest AUTOMATYCZNIE na unsigned char ! i warto to sobie zapamiętać<br /><br />dlaczego jest domyślnie zamieniany ? ano dlatego żeby nie męczyć się pisaniem tego durnego słówka unsigned  a widać to pięknie podczas pierwszej kompilacji projektu albo po jego CELAN'owaniu, oto przykład<br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />avr-gcc -Wall -Os -fpack-struct -fshort-enums -ffunction-sections -fdata-sections -std=gnu99 <strong><span style="color: #FF0000">-funsigned-char</span></strong> -funsigned-bitfields -mmcu=atmega32 -DF_CPU=11059200UL -MMD -MP -MF&quot;main.d&quot; -MT&quot;main.d&quot; -c -o &quot;main.o&quot; &quot;../main.c&quot;<br /></div><br /><br />Takie posunięcie wymusza oczywiście za sobą pewne ważne konsekwencje, bo wręcz nie zaleca się w takiej sytuacji NIGDZIE w kodzie stosować durnego<br /><br />[syntax=c]unsigned char[/syntax]<br /><br />tylko sam typ <br /><br />[syntax=c]char[/syntax]<br /><br />i znowu DLACZEGO ?<br /><br />Ano dlatego, że większość wbudowanych w GCC funkcji operuje często na argumentach typu char (autorzy tych funkcji słusznie uznali, że każdy będzie kompilował sobie programy właśnie z tym przełącznikiem DOMYŚLNYM podkreślam <strong><span style="color: #FF0000">-funsigned-char</span></strong> No i jeśli teraz jakiś początkujący uparcie będzie stosował  kocie &quot;unsigned char&quot; to się zdziwi, że przy wielu funkcjach dostaje warningi że mu się rodzaje typów argumentów nie zgadzają.... i często zamiast poczytać o przełącznikach kompilacji i o tym co tu piszę - to załatwia sprawę TYSIĄCAMI RZUTOWAŃ w kodzie - jawnych rzutowań np..... skoro ma warninga w takiej powiedzmy zmyślonej tu funkcji<br /><br />[syntax=c]unsigned char a;<br />funkcja( a );[/syntax]<br /><br />to gościu robi sobie:<br /><br />[syntax=c]unsigned char a;<br />funkcja( (unsigned char)a );[/syntax]<br /><br />podobnie rzecz się ma ze wskaźnikami char wtedy ..... i cała kołomyja .....<br /><br />W AS jak sobie coś ktoś pokiełbasi to ma wyłączony ten przełącznik domyślnej zamiany char na unsigned char no i później ma problemy <br /><br />ale to nie jedyny kocie pułapki jakie czyhają w AS na takich początkujących co to jak im ktoś wmówi że Eclips jest nie dobry to go nawet nie dotknie ....<br /><br />Ja tam uważam, że szczególnie dla początkujących zdecydowanie lepszy jest ECLIPSE a jak się człowiek nauczy już ... m.in tego o czym piszę ale jeszcze innych rzeczy (jak pracuje kompilator) to wtedy można sobie używać AS albo jeszcze czego innego co się żywnie podoba<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 6 minutach ]</span></strong><br /><br />Jak widać proste rzeczy w AS urastają dla początkującego do jakichś KOSMICZNYCH problemów .... a w Eclipse o dziwo wszystko działa i się kompiluje. Dziwię się, jak można być tak upartym i pomimo to, że w Bluebooku piszę o Eclipse, że specjalnie przygotowuję kody działające pod Eclipse (cały workspace jest na DVD) to nie .... nawet taki początkujący nie spróbuje tylko idzie katować się AS<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 5 wrz 2015, o 10:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PROTON]]></name></author>
<updated>2015-09-05T09:17:20+01:00</updated>
<published>2015-09-05T09:17:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12854&amp;p=139154#p139154</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12854&amp;p=139154#p139154"/>
<title type="html"><![CDATA[Re: warning-i  -- jak je wytłumaczyć]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12854&amp;p=139154#p139154"><![CDATA[
Używasz char, czuli zmiennej z zakresu  -128 do 127. Spróbuj unsigned char, wtedy będzie miała zakres od 0 do 255.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1315">PROTON</a> — 5 wrz 2015, o 09:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrzej381]]></name></author>
<updated>2015-09-05T08:39:14+01:00</updated>
<published>2015-09-05T08:39:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12854&amp;p=139153#p139153</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12854&amp;p=139153#p139153"/>
<title type="html"><![CDATA[warning-i  -- jak je wytłumaczyć]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12854&amp;p=139153#p139153"><![CDATA[
Piszę sobie programik na Xmegę używający biblioteki &quot;LCD&quot; z bluebooka. Mamy tam taką funkcję:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">void lcd_char(char c)<br />{<br />   lcd_write_data( ( c&gt;=0x80 &amp;&amp; c&lt;=0x87 ) ? (c &amp; 0x07) : c);<br />}</div><br />programik kompiluję raz w Eclipse-Mars-32bit z toolchainem Atmela i drugi raz w Atmel Studio 6.2<br />W obu przypadkach program kompiluje się bez błędów jednak w AS wyrzuca warningi mówiące o tym, że wynik porównania zmiennej typu char ze stałą jest zawsze w jednym przypadku fałszem (false) a w drugim prawdą (true) (jak na zrzucie ekranu)<br /><a href="https://obrazkiforum.atnel.pl/308/69a6bd411cee7223655a6ad3cc7b57e6.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/308/69a6bd411cee7223655a6ad3cc7b57e6.jpg" alt="Obrazek" /></a><br /><br />Czy któryś z kolegów mógłby mi wytłumaczyć skąd te warningi. Dlaczego w Eclipse ich nie ma a w AS są? Pewnie zależy to od jakiś ustawień opcji kompilacji. I jak ich uniknąć.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=308">andrzej381</a> — 5 wrz 2015, o 08:39</p><hr />
]]></content>
</entry>
</feed>