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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-12-26T11:27:15+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=9859&amp;mode</id>
<entry>
<author><name><![CDATA[kicajek]]></name></author>
<updated>2014-12-26T11:27:15+01:00</updated>
<published>2014-12-26T11:27:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9859&amp;p=110517#p110517</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9859&amp;p=110517#p110517"/>
<title type="html"><![CDATA[Re: Zwiększanie wypełnienia przebiegu PWM za pomocą pilota R]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9859&amp;p=110517#p110517"><![CDATA[
Witam<br />Być może liczy pojedynczo lecz tak szybko, że nie widzisz. Spróbuj może dla testu po:<br />[syntax=c]i++;<br />lcd_int(i);[/syntax]<br />dać mu &quot;odpocząć&quot; jakim delay'em np.:100ms<br /><br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=826">kicajek</a> — 26 gru 2014, o 11:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Elektronik]]></name></author>
<updated>2014-12-26T08:16:50+01:00</updated>
<published>2014-12-26T08:16:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9859&amp;p=110495#p110495</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9859&amp;p=110495#p110495"/>
<title type="html"><![CDATA[Zwiększanie wypełnienia przebiegu PWM za pomocą pilota RC5]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9859&amp;p=110495#p110495"><![CDATA[
Witam<br /><br />Głowię się tym  od kilku dobrych godzin, i nie mogę sprostać moim oczekiwaniom, a są one niewielkie chciałbym zwiększać wypełnienie przebiegu PWM za pomocą klawisza z pilota RC5, lecz mi to nie wychodzi. Jedynce co sprawdziłem to to, że PWM działa i mikrokontroler odbiera kody z pilota. Po naciśnięciu klawisza PWM leci od 0 do 255 cały czas a mi chodzi oto aby jedno kliknięcie wykonywało powiększenie o jeden współczynnika wypełnienia.<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;LCD/lcd44780.h&quot;<br />#include &quot;IR_DECODE/ir_decode.h&quot;<br /><br />#define LED_PIN (1&lt;&lt;PA0)<br />#define LED_OFF PORTA |= LED_PIN<br />#define LED_ON PORTA &amp;= ~LED_PIN<br />#define LED_TOG PORTA ^= LED_PIN<br /><br />void rc5rst (void) //zerowanie flagi i komend<br />{<br />        Ir_key_press_flag=0;<br />        command=0xff;<br />        address=0xff;<br />}<br /><br /> uint8_t i=0;<br /><br />int main(void) {<br /><br /><br />DDRB |= (1&lt;&lt;PB3);<br />// ustawienia TIMER2 w Fast PWM<br />TCCR0 |= (1&lt;&lt;WGM01)|(1&lt;&lt;WGM00);// tryb Fast PWM<br />TCCR0 |= (1&lt;&lt;COM01);// clear at TOP<br />TCCR0 |= (1&lt;&lt;CS00);// preskaler = 1<br />OCR0=0;<br /><br />DDRC |= (1&lt;&lt;PC7);<br />PORTC |= (1&lt;&lt;PC7);<br />DDRA |= LED_PIN;<br />LED_OFF;<br /><br />        lcd_init();     /* inicjalizacja LCD */<br />        ir_init();      /* inicjalizacja dekodowania IR */<br /><br />        sei();  /* włączamy globalne przerwania */<br /><br />        /* pętla nieskończona */<br />        while(1)<br />        {<br />        OCR0=i;<br /><br />        if(Ir_key_press_flag) { /* jeśli odebrano prawidłowe kody z pilota */<br /><br /><br />                                        lcd_locate(1,0);<br />                                        lcd_str(&quot;key: &quot;);<br />                                        lcd_int(command);       /* wyświetl w drugiej linii LCD kod klawisza */<br />                                        lcd_str(&quot;   &quot;);<br /><br /><br /><br /><br />                                /* jeśli wciśnięty przycik power */<br />                                if( command==12 )<br />                                        {<br />                                                        lcd_locate(1,10);<br />                                                        lcd_str(&quot;PWR&quot;); /* wyświetl jego nazwę */<br />                                                        i++;<br />                                                        lcd_int(i);<br /><br />                                        }<br /><br />                                else<br />                                {<br />                                        lcd_locate(1,10);<br />                                        lcd_str(&quot;      &quot;);      /* jeśli inny skasuj pole */<br />                                }<br />                                rc5rst();<br /><br /><br /><br /><br />        }<br />}<br />}[/syntax] <br /><br />Pozdrawiam<br />Elektronik<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=858">Elektronik</a> — 26 gru 2014, o 08:16</p><hr />
]]></content>
</entry>
</feed>