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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-04-07T23:30:57+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=2811&amp;mode</id>
<entry>
<author><name><![CDATA[Ledes]]></name></author>
<updated>2013-04-07T23:30:57+01:00</updated>
<published>2013-04-07T23:30:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2811&amp;p=33778#p33778</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2811&amp;p=33778#p33778"/>
<title type="html"><![CDATA[Re: Timer0 PWM i Timer0 CTC w jednym programie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2811&amp;p=33778#p33778"><![CDATA[
O ile się orientuję, to jeden timer może pracować w jednym trybie na raz.<br />Użyj dwóch timerów w różnych trybach. Albo timer0 w trybie CTC + programowy PWM.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=355">Ledes</a> — 7 kwi 2013, o 23:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jeżyk-1]]></name></author>
<updated>2013-04-07T21:05:06+01:00</updated>
<published>2013-04-07T21:05:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2811&amp;p=33758#p33758</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2811&amp;p=33758#p33758"/>
<title type="html"><![CDATA[Timer0 PWM i Timer0 CTC w jednym programie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2811&amp;p=33758#p33758"><![CDATA[
Witam. <br />Chciałbym wykonać warunek dla którego będzie włączenie Timera0 do regulacji mocy 230V, lub regulacji wiania wentylatora 12V. Regulowana będzie grzałka na 230V Lecz w tej chwili do testów podłączona jest żarówka. Chciałem żeby żarówka była regulowana Timerem w trybie CTC a wentylator w trybie PWM. I pojawił się problem. Zrobiłem taki warunek:<br />[syntax=c]if (grzanie_chlodzenie == 1) { //warunek sprawdzający czy grzać<br />t_moc_grzania(); //włączenie timera do regulacji mocy grzania<br />kanal1 = procent(moc_g); //% mocy grzania<br />}<br />if (grzanie_chlodzenie == 2) { //warunek sprawdzający czy chłodzić<br />t_moc_wiania(); //właczenie timera do regulacji mocy wiadnia<br />OCR0 = procent_ch(moc_w); //zamiana mocy podanej w % na wartość od 0 do 255 OCR0<br />}[/syntax]<br /><br />Który znajduję się w pętli głównej i efekt jest taki że przy 100% mocy_g żarówka miga. Gdy wywalę ten warunek a funkcję t_moc_grzania() wkleję przed while(1) to ładnie świeci. <br />I czy da się coś zrobić bym mógł mieć taki warunek i 2 różne rodzaje tryby timmerów (PWM i CTC) czy muszę zdecydować i wybrać jeden tryb ?<br /><br />[syntax=c]void t_moc_wiania(void){<br />    //***** SPRZĘTOWY PWM - 1 KANAŁ OC0 (PB3) *******<br />   // ustawienie końcówki OC0 (PB3) sprzętowy PWM jako WYJŚCIE<br /><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)|(1&lt;&lt;COM00);// set at TOP<br />   TCCR0 |= (1&lt;&lt;CS00);// preskaler = 1<br /><br />    }[/syntax]<br /><br />[syntax=c]void t_moc_grzania(void) {<br />T_ZAR1_OFF; //przerwania układu detekcji zera<br />MCUCR |= (1 &lt;&lt; ISC01) | (1 &lt;&lt; ISC00); // zbocze narastające<br />GICR |= (1 &lt;&lt; INT0); // odblokowanie INT0<br />#define TIMER0_START TCCR0 |= (1&lt;&lt;CS01)// prescaler=8 (CS01)<br />#define TIMER0_STOP TCCR0 &amp;= ~(1&lt;&lt;CS01)// prescaler off<br />TCCR0 |= (1 &lt;&lt; WGM01); // tryb CTC<br />TIMSK |= (1 &lt;&lt; OCIE0); // odblokowanie przerwania COMPARE MATCH<br />OCR0 = __OCR_STEP;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=493">Jeżyk-1</a> — 7 kwi 2013, o 21:05</p><hr />
]]></content>
</entry>
</feed>