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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-01-09T15:09:25+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=14131&amp;mode</id>
<entry>
<author><name><![CDATA[rskup]]></name></author>
<updated>2016-01-09T15:09:25+01:00</updated>
<published>2016-01-09T15:09:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150061#p150061</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150061#p150061"/>
<title type="html"><![CDATA[Re: Zerowanie jednego bitu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150061#p150061"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Ogólnie rzecz biorąc, chciałem wyzerować tylko ten jeden konkretny bit 6 bez modyfikacji pozostałych, ale w tej postaci jest to niemożliwe. Musiałbym najpierw odczytać wartość wszystkich rejestrów pod adresem 0x07, przypisać do zmiennej(x) i wtedy ta zmienna(x) &amp;= ~(1&lt;&lt;6) wyzerowałaby mi tylko ten 6 bit bez modyfikacji pozostałych, dobrze zrozumiałem?<br /></div><br />Tak. Tylko nie wszystkich rejestrów a jednego rejestru a wszystkich bitów <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Tak dokładnie się robi jak się steruje wyjściami procesora. Tylko w ich wypadku jest to jedna linijka od razu to robiąca: [syntax=c]PORTA &amp;= (1 &lt;&lt; 6);[/syntax]<br />Tutaj nie masz bezpośredniego dostępu do wartości, więc musisz ją najpierw odczytać a potem po modyfikacji zapisać.<br /><br />C ma taką fajną właściwość, że możesz sobie zrobić funkcję np. TWI_modify_bit() i w niej zrobić te operacje (odczytu, modyfikacji i zapisu) a w programie wykonywać modyfikację poprzez tę funkcję, nie zastanawiając się więcej jak to jest robione. Tylko ma to sens jak takie operacje w programie robisz w wielu miejscach na różnych komórkach i bitach. <br /><br />-- <br />Pozdrawiam,<br />Robert<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3427">rskup</a> — 9 sty 2016, o 15:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[zrozumiec]]></name></author>
<updated>2016-01-09T14:34:04+01:00</updated>
<published>2016-01-09T14:34:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150056#p150056</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150056#p150056"/>
<title type="html"><![CDATA[Re: Zerowanie jednego bitu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150056#p150056"><![CDATA[
Dzięki Robert. Mam nadzieję, że teraz zrozumiałem. Ogólnie rzecz biorąc, chciałem wyzerować tylko ten jeden konkretny bit 6 bez modyfikacji pozostałych, ale w tej postaci jest to niemożliwe. Musiałbym najpierw odczytać wartość wszystkich rejestrów pod adresem 0x07, przypisać do zmiennej(x) i wtedy ta zmienna(x) &amp;= ~(1&lt;&lt;6) wyzerowałaby mi tylko ten 6 bit bez modyfikacji pozostałych, dobrze zrozumiałem?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6873">zrozumiec</a> — 9 sty 2016, o 14:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[rskup]]></name></author>
<updated>2016-01-09T14:29:56+01:00</updated>
<published>2016-01-09T14:29:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150054#p150054</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150054#p150054"/>
<title type="html"><![CDATA[Re: Zerowanie jednego bitu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150054#p150054"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Masz może Bluebooka ? Jeśli nie to jednak polecam żeby właśnie to lepiej zrozumieć<br /></div><br />Dokładnie tak. Widać, że zaczynasz swoją drogę z programowaniem, więc warto zaopatrzyć się w Bluebooka.<br /><br />-- <br />Pozdrawiam,<br />Robert<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3427">rskup</a> — 9 sty 2016, o 14:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-01-09T14:19:12+01:00</updated>
<published>2016-01-09T14:19:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150053#p150053</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150053#p150053"/>
<title type="html"><![CDATA[Re: Zerowanie jednego bitu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150053#p150053"><![CDATA[
<div class="quotetitle">zrozumiec napisał(a):</div><div class="quotecontent"><br />Dalej nie rozumiem jak to zrobić w tym konkretnym przypadku, kiedy mam podany tylko adres i numer bitu. TWI_write(ADRR, 0x07, ~(1&lt;&lt;6)) - tak będzie dobrze?<br /></div><br />Masz może Bluebooka ? Jeśli nie to jednak polecam żeby właśnie to lepiej zrozumieć:<br /><!-- m --><a class="postlink" href="http://atnel.pl/mikrokontrolery-avr-jezyk-c.html" >http://atnel.pl/mikrokontrolery-avr-jezyk-c.html</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 9 sty 2016, o 14:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[rskup]]></name></author>
<updated>2016-01-09T14:08:19+01:00</updated>
<published>2016-01-09T14:08:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150049#p150049</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150049#p150049"/>
<title type="html"><![CDATA[Re: Zerowanie jednego bitu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150049#p150049"><![CDATA[
X to jest jakaś wartość. Takie matematyczne X. I w nim jest zerowana wartość bitu o numerze BIT.<br />Sam zapis ~(1 &lt;&lt; BIT) ustawia liczbę z wyzerowanym jednym bitem o numerze BIT a resztą jedynek.<br />(1 &lt;&lt; BIT) robi przesunięcie w lewo o BIT razy liczbę jeden, co jest równoważne z pomnożeniem jeden przez 2 podniesionym do potęgi BIT ( (1 &lt;&lt; BIT) = 1 * 2^BIT ). A daje to przy BIT = 6 liczbę 64, co w hex daje 0x40 a binarnie daje 0b01000000. Użycie negacji ~ daje ci zanegowanie tej wartości czyli binarnie 0b10111111.<br /><br />Pooglądaj poradniki Mirkowe <a href="https://www.youtube.com/watch?v=kZ32DsDWzDg&amp;list=PLtXXWLsA5QNi26MlYAaug9Uvh_vXWCGGF"  class="postlink">https://www.youtube.com/watch?v=kZ32DsDWzDg&amp;list=PLtXXWLsA5QNi26MlYAaug9Uvh_vXWCGGF</a><br /><br />-- <br />Pozdrawiam,<br />Robert<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 5 minutach ]</span></strong><br /><br />Jeżeli chcesz tylko uzyskać jakąś stałą to nie korzystasz z X tylko wpisujesz samo ~(1 &lt;&lt; BIT).<br />Zapis był pokazany, bo na pewno masz go u siebie przy, na przykład, inicjalizacji portów. Coś w stylu:<br /><a href="http://mirekk36.blogspot.com/2012/01/avr-porty-wewy-dir-podstawy.html"  class="postlink">http://mirekk36.blogspot.com/2012/01/avr-porty-wewy-dir-podstawy.html</a><br /><br />-- <br />Pozdrawiam,<br />Robert<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3427">rskup</a> — 9 sty 2016, o 14:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[zrozumiec]]></name></author>
<updated>2016-01-09T13:43:13+01:00</updated>
<published>2016-01-09T13:43:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150045#p150045</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150045#p150045"/>
<title type="html"><![CDATA[Re: Zerowanie jednego bitu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150045#p150045"><![CDATA[
Dalej nie rozumiem jak to zrobić w tym konkretnym przypadku, kiedy mam podany tylko adres i numer bitu. TWI_write(ADRR, 0x07, ~(1&lt;&lt;6)) - tak będzie dobrze?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6873">zrozumiec</a> — 9 sty 2016, o 13:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-01-09T13:36:57+01:00</updated>
<published>2016-01-09T13:36:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150044#p150044</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150044#p150044"/>
<title type="html"><![CDATA[Re: Zerowanie jednego bitu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150044#p150044"><![CDATA[
<div class="quotetitle">zrozumiec napisał(a):</div><div class="quotecontent"><br />o ten X mi chodzi.<br /></div><br /><br />Ty zrozum lepiej co to jest WYRAŻENIE w języku C, jak widzisz np taki zapis<br /><br />(1&lt;&lt;3) <br /><br />to traktuj to jako wyrażenie, które musi zostać obliczone i będzie prezentowało pewną wartość, w tym przypadku wartością tego wyrażenia będzie jaka liczba ? No liczba =8 zgadza się ?<br /><br />A więc co to za różnica co to będzie ten X ?<br /><br />czy to będzie rejestr, czy jakaś zmienna w programie itp itd - co tylko zechcesz<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 9 sty 2016, o 13:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[zrozumiec]]></name></author>
<updated>2016-01-09T13:33:12+01:00</updated>
<published>2016-01-09T13:33:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150043#p150043</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150043#p150043"/>
<title type="html"><![CDATA[Re: Zerowanie jednego bitu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150043#p150043"><![CDATA[
Hehe to ja wiem chodziło mi oz zapis Pana Roberta X &amp;= ~(1 &lt;&lt; BIT); o ten X mi chodzi.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6873">zrozumiec</a> — 9 sty 2016, o 13:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-01-09T13:29:36+01:00</updated>
<published>2016-01-09T13:29:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150042#p150042</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150042#p150042"/>
<title type="html"><![CDATA[Re: Zerowanie jednego bitu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150042#p150042"><![CDATA[
<div class="quotetitle">zrozumiec napisał(a):</div><div class="quotecontent"><br />Dzięki za odpowiedz, podany przez Ciebie zapis jest mi znany, niestety nie wiem jak go użyć w tym przypadku, co mam wpisać pod X?<br /></div><br /><br />Panie, panie - w zapisie <span style="color: #FF0000">0x</span>07<br /><br />nie ma żadnego iKSA pod którego coś musisz podstawiać .... toż to format zapisu liczb HEX w języku C<br /><br /><span style="color: #FF0000">0x</span>07<br /><span style="color: #FF0000">0x</span>AB<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 9 sty 2016, o 13:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[zrozumiec]]></name></author>
<updated>2016-01-09T13:27:47+01:00</updated>
<published>2016-01-09T13:27:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150041#p150041</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150041#p150041"/>
<title type="html"><![CDATA[Re: Zerowanie jednego bitu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150041#p150041"><![CDATA[
Dzięki za odpowiedz, podany przez Ciebie zapis jest mi znany, niestety nie wiem jak go użyć w tym przypadku, co mam wpisać pod X?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6873">zrozumiec</a> — 9 sty 2016, o 13:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[rskup]]></name></author>
<updated>2016-01-09T13:13:00+01:00</updated>
<published>2016-01-09T13:13:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150038#p150038</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150038#p150038"/>
<title type="html"><![CDATA[Re: Zerowanie jednego bitu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150038#p150038"><![CDATA[
A taki zapis nie jest Ci znany? Zeruje w X bit o numerze BIT (robi and-a z liczbą mającą tylko wyzerowany bit numer BIT): [syntax=c]X &amp; ~(1 &lt;&lt; BIT)[/syntax]<br />Często używa się to w zapisie:[syntax=c]X &amp;= ~(1 &lt;&lt; BIT);[/syntax]<br />-- <br />Pozdrawiam,<br />Robert<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3427">rskup</a> — 9 sty 2016, o 13:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[zrozumiec]]></name></author>
<updated>2016-01-09T12:49:47+01:00</updated>
<published>2016-01-09T12:49:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150037#p150037</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150037#p150037"/>
<title type="html"><![CDATA[Zerowanie jednego bitu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14131&amp;p=150037#p150037"><![CDATA[
Witam<br /><br />Mam następujący problem jest sobie jakiś adres 0x07 pod tym adresem jest 8 bitów przykładowo chcę ustawić na &quot;1&quot; bit 4 i wyzerować bit 6 używając I2C:<br />TWI_write(ADRR, 0x07, (1&lt;&lt;4)) - tutaj ustawie 4 bit na &quot;1&quot;<br />TWI_write(ADRR, 0x07, ???????) - jak wyzerować ten 6 bit???<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6873">zrozumiec</a> — 9 sty 2016, o 12:49</p><hr />
]]></content>
</entry>
</feed>