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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-07-31T17:02:05+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=7947&amp;mode</id>
<entry>
<author><name><![CDATA[atmel]]></name></author>
<updated>2014-07-31T17:02:05+01:00</updated>
<published>2014-07-31T17:02:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7947&amp;p=89604#p89604</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7947&amp;p=89604#p89604"/>
<title type="html"><![CDATA[Re: Podciągnięcie do VCC nie działa w main]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7947&amp;p=89604#p89604"><![CDATA[
Proszę bardzo <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Warning Eclipse'a jest zrozumiały, ponieważ sugeruje możliwy błąd w przypadku, kiedy działanie sumy bitowej powinno być wykonywane przed priorytetowym w tym wypadku operatorem iloczynu bitowego.<br />Mimo wszystko wersja bez nawiasów również będzie działać bez zarzutu. Jednak tworzymy programy bez żółtych trójkącików (tym bardziej czerwonych krzyżyków <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />), dlatego ten nawias faktycznie powinien tam być.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1183">atmel</a> — 31 lip 2014, o 17:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Ds3]]></name></author>
<updated>2014-07-31T16:34:03+01:00</updated>
<published>2014-07-31T16:34:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7947&amp;p=89597#p89597</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7947&amp;p=89597#p89597"/>
<title type="html"><![CDATA[Re: Podciągnięcie do VCC nie działa w main]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7947&amp;p=89597#p89597"><![CDATA[
Faktycznie, źle zrozumiałem <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><br />Eclipse jeszcze zwrócił uwagę, aby <strong> PORTB &amp; 0xF8</strong> umieścić w nawiasie. <br />Wszystko śmiga. Dziękuję jeszcze raz za pomoc! <br /><br /><br />Pozdrawiam!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1783">Ds3</a> — 31 lip 2014, o 16:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[atmel]]></name></author>
<updated>2014-07-30T19:10:23+01:00</updated>
<published>2014-07-30T19:10:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7947&amp;p=89546#p89546</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7947&amp;p=89546#p89546"/>
<title type="html"><![CDATA[Re: Podciągnięcie do VCC nie działa w main]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7947&amp;p=89546#p89546"><![CDATA[
Nie bardzo się zrozumieliśmy i wydaje mi się, że mimo wszystko powyższy program nie ma prawa działać poprawnie <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><br /><br />W linii 17 zamiast <strong>PORTB &amp;= 0b11111000;</strong> powinno być tak jak poprzednio <strong><span style="text-decoration: underline">PORTB|= KEY1;</span></strong>.<br />Natomiast zmiana powinna dotyczyć linii 30/31 tzn. <strong>PORTB= tab [ i ];</strong> trzeba zamienić na <strong><span style="text-decoration: underline">PORTB = PORTB &amp; 0xF8 | tab[i];</span></strong>.<br /><br />Całość (nie zmieniałem formatowania ze względu na zgodne numerowanie linii):<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /> <br />//1 - LED1, 2 - LED2, 3 - LED3, 4 - LED1 i LED2, 6 - LED2 i LED3, 6 - LED1 i LED3, 7 - all<br /> <br />uint8_t tab&#91;&#93; = {1, 2, 4, 3, 6, 5, 7};<br /> <br />//przyciski<br />#define KEY1 (1&lt;&lt;PB3)<br />uint8_t key_lock;<br /> <br />uint8_t i;<br /> <br />int main (void) {<br /> <br />        DDRB|= (1&lt;&lt;PB0) | (1&lt;&lt;PB1) | (1&lt;&lt;PB2);<br />        PORTB|= KEY1;<br /> <br /> <br /> <br /> <br />        while(1){<br /> <br />                  if( !key_lock &amp;&amp; !(PINB &amp; KEY1 ) ) {<br />                   key_lock = 1;<br />i++;<br /> <br />                  } else if( key_lock &amp;&amp; (PINB &amp; KEY1 ) ) key_lock++;<br /> <br /> <br />                        PORTB = PORTB &amp; 0xF8 | tab&#91;i&#93;;<br /> <br />if(8==i) i=0;<br /> <br /> <br />        }<br /> <br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1183">atmel</a> — 30 lip 2014, o 19:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Ds3]]></name></author>
<updated>2014-07-30T18:50:46+01:00</updated>
<published>2014-07-30T18:50:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7947&amp;p=89542#p89542</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7947&amp;p=89542#p89542"/>
<title type="html"><![CDATA[Re: Podciągnięcie do VCC nie działa w main]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7947&amp;p=89542#p89542"><![CDATA[
Dziękuję panowie za odpowiedzi! Nawet nie wiedziałem o czymś takim <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Ale mam jeszcze jedno pytanie. Załóżmy, że chciałbym zostać tylko przy porcie B (np. attiny13). <br />Zauważyłem, że program reaguje bardzo dziwnie. Gdy zbliżymy rękę do przewodu to następuje mruganie diod LED. Nawet nie trzeba przewodu dotykać. Fajny efekt, ale na chwilę obecną do niczego mi się nie przyda ;P<br />Czy można to w jakiś sposób poprawić, tak aby układ nie był aż tak czuły i nie działał jak wzmocnienie - antena i reagował tylko na przycisk?<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />//1 - LED1, 2 - LED2, 3 - LED3, 4 - LED1 i LED2, 6 - LED2 i LED3, 6 - LED1 i LED3, 7 - all<br /><br />uint8_t tab&#91;&#93; = {1, 2, 4, 3, 6, 5, 7};<br /><br />//przyciski<br />#define KEY1 (1&lt;&lt;PB3)<br />uint8_t key_lock;<br /><br />uint8_t i;<br /><br />int main (void) {<br /><br />DDRB|= (1&lt;&lt;PB0) | (1&lt;&lt;PB1) | (1&lt;&lt;PB2);<br />PORTB &amp;= 0b11111000;<br /><br /><br /><br /><br />while(1){<br /><br />  if( !key_lock &amp;&amp; !(PINB &amp; KEY1 ) ) {<br />   key_lock = 1;<br />i++;<br /><br />  } else if( key_lock &amp;&amp; (PINB &amp; KEY1 ) ) key_lock++;<br /><br /><br />PORTB= tab &#91; i &#93;;<br /><br />if(8==i) i=0;<br /><br /><br />}<br /><br />}[/syntax]<br /><br /><br />Pozdrawiam!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1783">Ds3</a> — 30 lip 2014, o 18:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mac34]]></name></author>
<updated>2014-07-29T19:49:23+01:00</updated>
<published>2014-07-29T19:49:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7947&amp;p=89387#p89387</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7947&amp;p=89387#p89387"/>
<title type="html"><![CDATA[Re: Podciągnięcie do VCC nie działa w main]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7947&amp;p=89387#p89387"><![CDATA[
No tak jak kolega wyżej napisał ,masz ledy i przycisk na tym samym porcie ,więc migając ledami ,migasz też pull-apem.<br /><br />Najprościej to podłącz przycisk np. do portu D.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3077">mac34</a> — 29 lip 2014, o 19:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[atmel]]></name></author>
<updated>2014-07-29T19:54:22+01:00</updated>
<published>2014-07-29T19:46:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7947&amp;p=89386#p89386</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7947&amp;p=89386#p89386"/>
<title type="html"><![CDATA[Re: Podciągnięcie do VCC nie działa w main]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7947&amp;p=89386#p89386"><![CDATA[
Ta linijka powoduje problem:<br /><br />[syntax=c]PORTB= tab &#91; i &#93;;[/syntax]<br />To w niej dla każdego &quot;i&quot; z przedziału &lt;0, 7&gt; zerowane jest ustawienie wewnętrznego pull-up'a.<br /><br />Powinno występować maskowanie bitów. Jedynie bity 0..2 mogą zostać zmodyfikowane, pozostałe powinny pozostać bez zmian:<br /><br />[syntax=c]PORTB = PORTB &amp; 0xF8 | tab&#91;i&#93;;[/syntax]<br /><br />Po rozpisaniu to samo co:<br /><br />[syntax=c]PORTB &amp;= 0b11111000;<br />PORTB |= tab&#91;i&#93;;[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1183">atmel</a> — 29 lip 2014, o 19:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Ds3]]></name></author>
<updated>2014-07-29T19:40:34+01:00</updated>
<published>2014-07-29T19:40:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7947&amp;p=89384#p89384</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7947&amp;p=89384#p89384"/>
<title type="html"><![CDATA[Podciągnięcie do VCC nie działa w main]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7947&amp;p=89384#p89384"><![CDATA[
Witam!<br /><br />Próbuję stworzyć tablice, w której będę mógł zmieniać kolory diody LED RGB (na razie tylko na zasadzie ON-OFF). Po dodaniu przycisku i kodu z bloga (eliminacja drgania styków) zauważyłem, że program bardzo dziwnie się zachowuje - tak jakby nie było eliminacji drgań styków.<br />Sprawdziłem o co chodzi i okazało się, że podciągnięcie portu PB3 do VCC w funkcji main nie działa:<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />//1 - LED1, 2 - LED2, 3 - LED3, 4 - LED1 i LED2, 6 - LED2 i LED3, 6 - LED1 i LED3, 7 - all<br /><br />uint8_t tab&#91;&#93; = {1, 2, 4, 3, 6, 5, 7};<br /><br />//przyciski<br />#define KEY1 (1&lt;&lt;PB3)<br />uint8_t key_lock;<br /><br />uint8_t i;<br /><br />int main (void) {<br /><br />DDRB|= (1&lt;&lt;PB0) | (1&lt;&lt;PB1) | (1&lt;&lt;PB2);<br />    PORTB|= KEY1;<br /><br /><br /><br />while(1){<br /><br />  if( !key_lock &amp;&amp; !(PINB &amp; KEY1 ) ) {<br />   key_lock = 1;<br />i++;<br /><br />  } else if( key_lock &amp;&amp; (PINB &amp; KEY1 ) ) key_lock++;<br /><br /><br />PORTB= tab &#91; i &#93;;<br /><br />if(8==i) i=0;<br /><br />if(1==i) PORTB|= (1&lt;&lt;PB0);<br />if(2==i) PORTB|= (1&lt;&lt;PB1);<br />if(3==i) PORTB|= (1&lt;&lt;PB2);<br /><br />}<br /><br />}[/syntax] <br /><br />Wiem, że kod może być troszkę nie czytelny, ale musiałem dodać kilka warunków, aby sprawdzić z czym jest problem. Po podłączeniu diody LED do portu PB3 dioda LED w ogóle nie świeci. <br />Natomiast w poniższym kodzie podciągnięcie do VCC znajduje się w pętli while:<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />//1 - LED1, 2 - LED2, 3 - LED3, 4 - LED1 i LED2, 6 - LED2 i LED3, 6 - LED1 i LED3, 7 - all<br /><br />uint8_t tab&#91;&#93; = {1, 2, 4, 3, 6, 5, 7};<br /><br />//przyciski<br />#define KEY1 (1&lt;&lt;PB3)<br />uint8_t key_lock;<br /><br />uint8_t i;<br /><br />int main (void) {<br /><br />DDRB|= (1&lt;&lt;PB0) | (1&lt;&lt;PB1) | (1&lt;&lt;PB2);<br /><br /><br /><br /><br />while(1){<br /> PORTB|= KEY1;<br />  if( !key_lock &amp;&amp; !(PINB &amp; KEY1 ) ) {<br />   key_lock = 1;<br />i++;<br /><br />  } else if( key_lock &amp;&amp; (PINB &amp; KEY1 ) ) key_lock++;<br /><br /><br />PORTB= tab &#91; i &#93;;<br /><br />if(8==i) i=0;<br /><br />if(1==i) PORTB|= (1&lt;&lt;PB0);<br />if(2==i) PORTB|= (1&lt;&lt;PB1);<br />if(3==i) PORTB|= (1&lt;&lt;PB2);<br /><br />}[/syntax]<br /><br />I dioda lekko świeci. Wiec dlaczego nie chce świecić w main?<br />Nawet jakbym dodał DDRB w main to i tak dioda LED nie świeci.<br />Może to być jakiś problem z eclipsem?<br /><br /><br />Pozdrawiam!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1783">Ds3</a> — 29 lip 2014, o 19:40</p><hr />
]]></content>
</entry>
</feed>