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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-01-18T18:53:28+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=10276&amp;mode</id>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2015-01-18T18:53:28+01:00</updated>
<published>2015-01-18T18:53:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10276&amp;p=114787#p114787</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10276&amp;p=114787#p114787"/>
<title type="html"><![CDATA[Re: Sterowanie diodami LED - ATB 1.04 - pytanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10276&amp;p=114787#p114787"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />#Krauser co do funkcji zmieniającej kolejność bitów to zrobić ją za pomocą tablicy ? Czy jest prostszy sposób ?<br /></div><br />Sposobów jest wiele. Tu są przykłady:<br /><a href="http://forum.atnel.pl/topic7838.html"  class="postlink">IR - odwracanie bitów</a><br />Polecam jednak samemu się nad tym pochylić.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 18 sty 2015, o 18:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[darnok90]]></name></author>
<updated>2015-01-18T17:41:25+01:00</updated>
<published>2015-01-18T17:41:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10276&amp;p=114773#p114773</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10276&amp;p=114773#p114773"/>
<title type="html"><![CDATA[Re: Sterowanie diodami LED - ATB 1.04 - pytanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10276&amp;p=114773#p114773"><![CDATA[
No tak jak zastosuję operację bitową AND (&amp;) to faktycznie bit, który chciałem aby cały czas świecił - świeci! <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> dziękuję. Właśnie łapie się na takich prostych niedopatrzeniach, ale to pewnie przez brak doświadczenie w korzystaniu z operacji bitowych.<br /><br />#Krauser co do funkcji zmieniającej kolejność bitów to zrobić ją za pomocą tablicy ? Czy jest prostszy sposób ?<br /># sredni mam dzisiaj wolny wieczór to zapoznam się z poradnikiem, który przesłałeś.<br /><br />Ps. Przepraszam za źle wklejony kod. Poprawiłem się <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6964">darnok90</a> — 18 sty 2015, o 17:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sredni]]></name></author>
<updated>2015-01-18T11:37:39+01:00</updated>
<published>2015-01-18T11:37:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10276&amp;p=114708#p114708</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10276&amp;p=114708#p114708"/>
<title type="html"><![CDATA[Re: Sterowanie diodami LED - ATB 1.04 - pytanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10276&amp;p=114708#p114708"><![CDATA[
<div class="quotetitle">darnok90 napisał(a):</div><div class="quotecontent"><br />..Planuję zaprogramować jeszcze inne &quot;akcje&quot;, ale na chwilę obecną nie mogę zrobić tak, aby wykonywały się dwie rzeczy jednocześnie, w tym przypadku: cały czas świeciła się dioda nr 7 i przesuwała dioda nr 1...<br /></div><br /><br />Cześć.<br />Zapoznaj się z tym poradnikiem Mirka <!-- m --><a class="postlink" href="http://mirekk36.blogspot.co.uk/2012/10/ror-rolowanie-bitow-wersja-wojskowa.html" >http://mirekk36.blogspot.co.uk/2012/10/ ... skowa.html</a><!-- m --><br />i z przesunięciami bitowymi w BB.<br />Myślę że to wszystko ułatwi ci obsługę diod LED i zmieni tok myślenia w C<br />Pozdrawiam,Piotr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3346">sredni</a> — 18 sty 2015, o 11:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2015-01-18T09:18:02+01:00</updated>
<published>2015-01-18T09:18:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10276&amp;p=114687#p114687</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10276&amp;p=114687#p114687"/>
<title type="html"><![CDATA[Re: Sterowanie diodami LED - ATB 1.04 - pytanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10276&amp;p=114687#p114687"><![CDATA[
<div class="quotetitle">darnok90 napisał(a):</div><div class="quotecontent"><br />1. Po naciśnięciu pierwszego przycisku dioda nr 1 przesunęła się na pozycję nr 7 czyli mają pozostać dwie diody zapalone,<br /></div><br /><div class="quotetitle">darnok90 napisał(a):</div><div class="quotecontent"><br />[syntax=c]PORTA = ~tab&#91;i&#93;;[/syntax]<br /></div><br />raczej:<br />[syntax=c]PORTA = ~tab&#91;i&#93; &amp; ~LED8;[/syntax]<br /><br /><div class="quotetitle">darnok90 napisał(a):</div><div class="quotecontent"><br />2. Po naciśnięciu przycisku nr 2 obie diody z pozycji 8 i 7 przesunęły się na pozycje 2 i 1.<br /></div><br />Napisz sobie funkcję, która odwraca kierunek bitów w bajcie:<br />[syntax=c]uint8_t reverse(uint8_t bajt)[/syntax]<br /> i wywołasz ją tak:<br />[syntax=c]PORTA = reverse(PORTA);[/syntax]<br />Zobacz też to:<br /><a href="http://forum.atnel.pl/topic7402.html"  class="postlink">Wstawianie listingów programów w postach.</a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 18 sty 2015, o 09:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[darnok90]]></name></author>
<updated>2015-01-18T17:35:08+01:00</updated>
<published>2015-01-18T02:49:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=10276&amp;p=114680#p114680</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=10276&amp;p=114680#p114680"/>
<title type="html"><![CDATA[Sterowanie diodami LED - ATB 1.04 - pytanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=10276&amp;p=114680#p114680"><![CDATA[
Witam wszystkich,<br /><br />Jestem laikiem w programowaniu mikrokontrolerów, ale staram się ogarniać wszystko co się da od początku niebieskiej książki. Nie ruszam się dalej z zadaniami dopóki nie rozwiążę problemu jaki sobie postawiłem. Tak więc wiem ustawiać bity rejestrów dla przycisków oraz diod i wymyśliłem sobie takie zadanie:<br /><br />Podłączone diody: 8<br />Podłączone przyciski: 2<br /><br />Na start po wgraniu programu do AVR'ki świecą się dwie skrajne diody 1 i 8. Teraz chciałbym, aby:<br />1. Po naciśnięciu pierwszego przycisku dioda nr 1 przesunęła się na pozycję nr 7 czyli mają pozostać dwie diody zapalone,<br />2. Po naciśnięciu przycisku nr 2 obie diody z pozycji 8 i 7 przesunęły się na pozycje 2 i 1.<br /><br />Planuję zaprogramować jeszcze inne &quot;akcje&quot;, ale na chwilę obecną nie mogę zrobić tak, aby wykonywały się dwie rzeczy jednocześnie, w tym przypadku: cały czas świeciła się dioda nr 7 i przesuwała dioda nr 1. Kiedy daną akcje wykonać przesunięcie się wykonuje, lecz dioda, która ma cały czas świecić i nie ulegać przesunięciu - gaśnie. Poniżej wrzucam &quot;szkielet&quot; programu:<br /><br />[syntax=c]//diody LED<br />#define LED1 (1&lt;&lt;PA0)<br />#define LED8 (1&lt;&lt;PA7)<br /><br />//klawisze KEY<br />#define KEY1 (1&lt;&lt;PC7)<br />#define KEY2 (1&lt;&lt;PC6)<br />#define KEY3 (1&lt;&lt;PC5)<br />#define KEY4 (1&lt;&lt;PC4)<br /><br />uint8_t tab&#91;&#93; = {1, 2, 4, 8, 16, 32, 64, 128};<br /><br />uint8_t key_down(uint8_t key); //funkcja sprawdzająca drganie styków<br /><br /><br />void main(void)<br />{<br />DDRA |= 0xff; //kierunek wejciowy diod LED<br />PORTA |= ~(LED1 | LED8);<br /><br />DDRC &amp;= ~(KEY1 | KEY2 | KEY3 | KEY4);<br />PORTC |= KEY1 | KEY2 | KEY3 | KEY4;<br /><br />while(1)<br />{<br />uint8_t i;<br /><br />if( key_down( KEY1) )<br />{<br />//PORTA ^= LED1; //TEST DZIAŁANIA<br />PORTA &amp;= ~LED8;<br />for(i=0; i&lt;8; i++)<br />{<br />PORTA = ~tab&#91;i&#93;;<br />_delay_ms(200);<br />}<br />}<br /><br />if( key_down( KEY2) )<br />{<br /><br />}<br /><br />if( key_down( KEY3) )<br />{<br /><br />}<br /><br />if( key_down( KEY4) )<br />{<br /><br />}<br />}<br />}<br /><br />uint8_t key_down(uint8_t key)<br />{<br />if( !(PINC &amp; key) )<br />{<br />_delay_ms(80);<br />if( !(PINC &amp; key) ) return 1;<br />}<br />return 0;<br />}[/syntax]<br /><br />*Kroki pętli for mogą być na chwilę obecną nie poprawne, gdyż testowałem różne rzeczy.<br /><br /><span style="color: #FF0000"><strong>Listingi programów wklejamy według  opisu stąd: <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic7402.html" >topic7402.html</a><!-- l --></strong></span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6964">darnok90</a> — 18 sty 2015, o 02:49</p><hr />
]]></content>
</entry>
</feed>