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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-01-22T11:32:41+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=14267&amp;mode</id>
<entry>
<author><name><![CDATA[Bumcfksz]]></name></author>
<updated>2016-01-22T11:32:41+01:00</updated>
<published>2016-01-22T11:32:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14267&amp;p=151411#p151411</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14267&amp;p=151411#p151411"/>
<title type="html"><![CDATA[Re: Odczyt wartości konkretnego bitu w bajcie.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14267&amp;p=151411#p151411"><![CDATA[
Jeden znak a jaka kolosalna różnica <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" />. Ale i tak będę używał tych pół bo mniej pisaniny. Dzięki za pomoc <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 51 minutach ]</span></strong><br /><br />Ok, dzięki, ale zrozumiałem to po korekcie wcześniejszej, po prostu pomyliłem &quot;&amp;&amp;&quot; z &quot;&amp;&quot; . Wydawało mi się że &amp;&amp; zadziała jak mnożenie na bitach <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6939">Bumcfksz</a> — 22 sty 2016, o 11:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Rafał555]]></name></author>
<updated>2016-01-22T06:40:25+01:00</updated>
<published>2016-01-22T06:40:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14267&amp;p=151384#p151384</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14267&amp;p=151384#p151384"/>
<title type="html"><![CDATA[Re: Odczyt wartości konkretnego bitu w bajcie.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14267&amp;p=151384#p151384"><![CDATA[
Tak napisałeś program i tak działa.<br />Np. (1&lt;&lt;3) zawsze się spełni, a wyrażenie &quot;flag&quot; spełni się jak jest różne od zera. <br />Musiałbyś raczej zrobić coś takiego:<br />[syntax=c]if( flag&amp;(1&lt;&lt;3) )[/syntax]<br /><br /> Ale wydaje mi się, że lepiej zrobić to na polach bitowych:<br />[syntax=c]struct{<br />     uint8_t f1 :1;<br />     uint8_t f2 :1;<br />     uint8_t f3 :1;<br />     uint8_t f4 :1;<br />     uint8_t f5 :1;<br />     uint8_t f6 :1;<br />     uint8_t f7 :1;<br />     uint8_t f8 :1;<br />}Flag;[/syntax]<br /><br />I odwoływać się Flag.f1, lub Flag.f7.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2697">Rafał555</a> — 22 sty 2016, o 06:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Bumcfksz]]></name></author>
<updated>2016-01-22T11:09:40+01:00</updated>
<published>2016-01-22T01:53:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14267&amp;p=151383#p151383</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14267&amp;p=151383#p151383"/>
<title type="html"><![CDATA[Odczyt wartości konkretnego bitu w bajcie.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14267&amp;p=151383#p151383"><![CDATA[
Cześć, próbowałem uzyskać efekt aby w 8 bitowej zmiennej można byłoby przechowywać jednocześnie do ośmiu flag i odnosić się do nich poprzez dyrektywy. Program poniżej po na podstawie literki wysłanej po UART w zamyśle ma zapalić odpowiednio przypisaną diodę gdy odpowiednia flaga zostanie ustawiona. Problem jest taki, ze ustawienie jakiegokolwiek bitu w zmiennej flag, powoduje spełnienie warunków świecenia dla obu diod a nie tylko dla jednej.  Wydaje mi się że dyrektywy FLAG3 i FLAG4 są źle napisane, ale nie wiem dlaczego. Ktoś mi wyjaśni czego nie rozumiem?<br /><br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;MKUART/mkuart.h&quot;<br /><br />volatile uint8_t Timer1;<br /><br />#define FLAG3H flag |= (1&lt;&lt;3)<br />#define FLAG3L flag &amp;= ~(1&lt;&lt;3)<br />#define FLAG3T flag ^= (1&lt;&lt;3)<br />#define FLAG3 (flag &amp;&amp; (1&lt;&lt;3))<br /><br />#define FLAG4H flag |= (1&lt;&lt;4)<br />#define FLAG4L flag &amp;= ~(1&lt;&lt;4)<br />#define FLAG4T flag ^= (1&lt;&lt;4)<br />#define FLAG4 (flag &amp;&amp; (1&lt;&lt;4))<br /><br /><br />uint8_t flag;<br />uint8_t bufor;<br /><br />int main(void) {<br /><br />USART_Init( __UBRR );<br /><br />sei();<br /><br />DDRA |= (1&lt;&lt;PA0);<br />DDRA |= (1&lt;&lt;PA7);<br /><br />PORTA |= (1&lt;&lt;PA7);<br />PORTA |= (1&lt;&lt;PA0);<br /><br />TCCR0 |= (1&lt;&lt;WGM01);  // Tryb CTC<br />TCCR0 |= (1&lt;&lt;CS02)|(1&lt;&lt;CS00);  // preskaler 0<br />OCR0 = 38;<br />TIMSK |= (1&lt;&lt;OCIE0);<br /><br />// pętla nieskończona<br />while(1) {<br />bufor=uart_getc();<br /><br />if(bufor == 'y'){<br />FLAG4H;<br />}<br />if(bufor == 'u'){<br />FLAG4L;<br />}<br />if(bufor == 'i'){<br />FLAG4T;<br />}<br /><br />if(bufor == 'h'){<br />FLAG3H;<br />}<br />if(bufor == 'j'){<br />FLAG3L;<br />}<br />if(bufor == 'k'){<br />FLAG3T;<br />}<br /><br />if(FLAG4){<br />PORTA &amp;= ~(1&lt;&lt;PA0);<br />}<br />if(!FLAG4){<br />PORTA |= (1&lt;&lt;PA0);<br />}<br /><br />if(FLAG3){<br />PORTA &amp;= ~(1&lt;&lt;PA7);<br />}<br />if(!FLAG3){<br />PORTA |= (1&lt;&lt;PA7);<br />}<br /><br /><br />}<br /><br />}<br /><br />ISR(TIMER0_COMP_vect)<br />{<br />uint8_t n;<br /><br /><br />n = Timer1;<br />if (n) Timer1 = --n;<br /><br /><br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6939">Bumcfksz</a> — 22 sty 2016, o 01:53</p><hr />
]]></content>
</entry>
</feed>