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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-05-19T19:16:45+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=11749&amp;mode</id>
<entry>
<author><name><![CDATA[gordon10]]></name></author>
<updated>2015-05-19T19:16:45+01:00</updated>
<published>2015-05-19T19:16:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11749&amp;p=129630#p129630</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11749&amp;p=129630#p129630"/>
<title type="html"><![CDATA[Re: Zmiana diody led - multipleksowanie |PROBLEM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11749&amp;p=129630#p129630"><![CDATA[
Najczęściej diabeł tkwi w szczegółach:)<br />Fajnie, że 'hula' jak chciałeś.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=968">gordon10</a> — 19 maja 2015, o 19:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Olaw]]></name></author>
<updated>2015-05-19T18:04:41+01:00</updated>
<published>2015-05-19T18:04:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11749&amp;p=129616#p129616</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11749&amp;p=129616#p129616"/>
<title type="html"><![CDATA[Re: Zmiana diody led - multipleksowanie |PROBLEM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11749&amp;p=129616#p129616"><![CDATA[
[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />uint8_t tab&#91;&#93; = {1,2,4,8,16,32,64,128};<br />volatile uint8_t i = 0;<br />void initTimer(void){<br />TCCR0A |= _BV(WGM01);           //Timer = CTC<br />TCCR0B|= _BV((CS02) | (CS00)); //Preskaler = 1024<br />OCR0A = 1024;//16 000 000 MHz(atmega 328p) / 1024 / 15625 = 1Hz<br />TIMSK0 |= _BV(OCIE0A);//allow Compare Match with: Timer witch is CTC<br />sei();<br />}<br /><br />ISR(TIMER0_COMP_vect){<br />    if(++i &gt;7) i = 0;<br /><br />}<br /><br />int main(void){<br />DDRD |= 0xFF;<br />initTimer();<br />while(1){<br />PORTD = tab&#91;i&#93;;<br />}<br />}[/syntax]<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 18 minutach ]</span></strong><br /><br />Jest!<br />Błędem było:<br />[syntax=c]TIMER0_COMP_vect[/syntax]<br />poprawiłem na:<br />[syntax=c]TIMER0_COMPA_vect[/syntax] (z WINAVR /include)<br />i 1024 w OCR na 255(miga super szybko)<br /><br />Bardzo dziękuje wszystkim za pomoc!<br /><br />Zamykam temat<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9949">Olaw</a> — 19 maja 2015, o 18:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Olaw]]></name></author>
<updated>2015-05-19T17:58:44+01:00</updated>
<published>2015-05-19T17:58:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11749&amp;p=129613#p129613</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11749&amp;p=129613#p129613"/>
<title type="html"><![CDATA[Re: Zmiana diody led - multipleksowanie |PROBLEM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11749&amp;p=129613#p129613"><![CDATA[
zmieniłem, ciągle tak samo, zrobiłem Clean, ale dalej nie...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9949">Olaw</a> — 19 maja 2015, o 17:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Olaw]]></name></author>
<updated>2015-05-19T17:43:56+01:00</updated>
<published>2015-05-19T17:43:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11749&amp;p=129610#p129610</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11749&amp;p=129610#p129610"/>
<title type="html"><![CDATA[Re: Zmiana diody led - multipleksowanie |PROBLEM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11749&amp;p=129610#p129610"><![CDATA[
Dziękuje Gordon,<br />program ma za zadanie zmieniać zapalone diody:<br />PD0 zapala się;<br />PD1 zapala się, PD0 gaśnie;<br />itp.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 2 minutach ]</span></strong><br /><br />Zmieniłem jeszcze bit:<br />[syntax=c]OCR0A = 15624;[/syntax]<br />w celu uzyskania zmiany diody co 1 Hz, dalej nie działa(PD0 zapalone inne nie)<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 4 minutach ]</span></strong><br /><br />zmieniłem<br />[syntax=c]while(i &lt;=7)[/syntax]<br />na<br />[syntax=c]if(i &lt;=7)[/syntax]<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 5 minutach ]</span></strong><br /><br />Dalej nie działą<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 5 minutach ]</span></strong><br /><br />Cały kod wygląda teraz tak:<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 />uint8_t tab&#91;&#93; = {1,2,4,8,16,32,64,128};<br />volatile uint8_t i = 0;<br />void initTimer(void){<br />TCCR0A |= _BV(WGM01);           //Timer = CTC<br />TCCR0B|= _BV((CS02) | (CS00)); //Preskaler = 1024<br />OCR0A = 15624;//16 000 000 MHz(atmega 328p) / 1024 / 15625 = 1Hz<br />TIMSK0 |= _BV(OCIE0A);//allow Compare Match with: Timer witch is CTC<br />sei();<br />}<br /><br />ISR(TIMER0_COMP_vect){<br />i++;<br />if(i &lt;=7){<br />i=0;<br />}<br />}<br /><br />int main(void){<br />DDRD |= 0xFF;<br />initTimer();<br />while(1){<br />PORTD = tab&#91;i&#93;;<br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9949">Olaw</a> — 19 maja 2015, o 17:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gordon10]]></name></author>
<updated>2015-05-19T17:39:35+01:00</updated>
<published>2015-05-19T17:39:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11749&amp;p=129609#p129609</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11749&amp;p=129609#p129609"/>
<title type="html"><![CDATA[Re: Zmiana diody led - multipleksowanie |PROBLEM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11749&amp;p=129609#p129609"><![CDATA[
Warunek zawsze jest spełniony i program ciągle krąży w pętli.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=968">gordon10</a> — 19 maja 2015, o 17:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gordon10]]></name></author>
<updated>2015-05-19T17:44:39+01:00</updated>
<published>2015-05-19T17:37:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11749&amp;p=129607#p129607</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11749&amp;p=129607#p129607"/>
<title type="html"><![CDATA[Re: Zmiana diody led - multipleksowanie |PROBLEM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11749&amp;p=129607#p129607"><![CDATA[
na mój gust, tak na pierwszy rzut oka, to zrobiłeś w przerwaniu pułapkę programową w przerwaniu....<br /><br />[syntax=c]ISR(TIMER0_COMP_vect){<br />        i++;<br />        while(i &lt;=7){<br />                i=0;<br />        }<br />}[/syntax]<br /><br />program wchodzi to pętli i już z niej nie wychodzi:)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=968">gordon10</a> — 19 maja 2015, o 17:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Olaw]]></name></author>
<updated>2015-05-19T17:28:52+01:00</updated>
<published>2015-05-19T17:28:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11749&amp;p=129602#p129602</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11749&amp;p=129602#p129602"/>
<title type="html"><![CDATA[Re: Zmiana diody led - multipleksowanie |PROBLEM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11749&amp;p=129602#p129602"><![CDATA[
@Gordon<br />Dziękuję, już to zrobiłęm.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9949">Olaw</a> — 19 maja 2015, o 17:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[gordon10]]></name></author>
<updated>2015-05-19T17:26:05+01:00</updated>
<published>2015-05-19T17:26:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11749&amp;p=129601#p129601</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11749&amp;p=129601#p129601"/>
<title type="html"><![CDATA[Re: Zmiana diody led - multipleksowanie |PROBLEM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11749&amp;p=129601#p129601"><![CDATA[
Kolego,<br /> włącz sobie globalne zezwolenie na przerwania i spróbuj jeszcze raz.<br />[syntax=c]sei();[/syntax]<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />Bez schematu ciężko coś powiedzieć:)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=968">gordon10</a> — 19 maja 2015, o 17:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Olaw]]></name></author>
<updated>2015-05-19T17:20:32+01:00</updated>
<published>2015-05-19T17:20:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11749&amp;p=129600#p129600</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11749&amp;p=129600#p129600"/>
<title type="html"><![CDATA[Zmiana diody led - multipleksowanie |PROBLEM]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11749&amp;p=129600#p129600"><![CDATA[
Witam,<br />od niedawna uczę się programować w języku C dla AVR, zakupiłem bluebooka(wcześniej miałem książkę Eliota Williamsa - nie polecam)<br />i jestem akurat na temacie multipleksowania.<br />Ze względu na fakt, iż nie mam wyświetlacza 7-mio segmentowego, zdecydowałem, że zrobię przykład na samych diodach LED.<br />Nie pisałem programu dokładnie z książki, lecz wzorowałem się na nim.<br />Posiadam ATmege 328P(arduino), kwarc 16MHz.<br />Oto kod:<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 />uint8_t tab&#91;&#93; = {1,2,4,8,16,32,64,128};<br />volatile uint8_t i = 0;<br />void initTimer(void){<br />TCCR0A |= _BV(WGM01);                       //Timer = CTC<br />TCCR0B|= _BV((CS02) | (CS00));           //Preskaler = 1024<br />OCR0A = 97;       //20 000 000 MHz(atmega 328p) / 1024 / 98<br />TIMSK0 |= _BV(OCIE0A);      //allow Compare Match with: Timer witch is CTC<br />}<br /><br />ISR(TIMER0_COMP_vect){<br />i++;<br />while(i &lt;=7){<br />i=0;<br />}<br />}<br /><br />int main(void){<br />DDRD |= 0xFF;<br />initTimer();<br />while(1){<br />PORTD = tab&#91;i&#93;;<br />}<br />}[/syntax]<br /><br />Jestem <span style="text-decoration: underline">pewien</span>, że dobrze podłączyłęm diody, udało mi się zkompilować i przesłać hex'a do arduino, ale <strong>nie działa</strong>. Diody nawet się nie zaświecają.<br /><br />Pozdrawiam<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 5 minutach ]</span></strong><br /><br />Zauważyłem błąd - brak sei();<br />po kompilacji mam zapaloną tylko jedną diodę.<br />Przynajmniej tak mi się wydaje - może zbyt szybkie odliczanie CTC?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9949">Olaw</a> — 19 maja 2015, o 17:20</p><hr />
]]></content>
</entry>
</feed>