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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-05-16T12:21:10+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=3131&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-05-16T12:21:10+01:00</updated>
<published>2013-05-16T12:21:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3131&amp;p=37093#p37093</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3131&amp;p=37093#p37093"/>
<title type="html"><![CDATA[Re: ATtiny2313A problem z konfiguracją TIMER0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3131&amp;p=37093#p37093"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Oczywiście dla trybu normal te wszystkie bity mają być wyzerowane...<br /></div><br /><br /><img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> więc właśnie - a skoro wyzerowane i są wyzerowane po RESECIE procka - zwróć uwagę na opis pod rejestrem - to nawet ich programowo nie trzeba zerować <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 16 maja 2013, o 12:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[zoom]]></name></author>
<updated>2013-05-16T12:16:56+01:00</updated>
<published>2013-05-16T12:16:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3131&amp;p=37092#p37092</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3131&amp;p=37092#p37092"/>
<title type="html"><![CDATA[Re: ATtiny2313A problem z konfiguracją TIMER0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3131&amp;p=37092#p37092"><![CDATA[
Ale głuupota... Mirek, dzięki wielkie!<br />Oczywiście dla trybu normal te wszystkie bity mają być wyzerowane...<br />Teraz wszystko oczywiście działa.<br />Dzięki!;)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=685">zoom</a> — 16 maja 2013, o 12:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-05-16T12:01:42+01:00</updated>
<published>2013-05-16T12:01:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3131&amp;p=37091#p37091</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3131&amp;p=37091#p37091"/>
<title type="html"><![CDATA[Re: ATtiny2313A problem z konfiguracją TIMER0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3131&amp;p=37091#p37091"><![CDATA[
panie kochany <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> to jest dla ciebie tryb normal ?<br /><br />[syntax=c]TCCR0A |= (1&lt;&lt;WGM00)|(1&lt;&lt;WGM01);                //tryb NORMAL<br />    TCCR0B |= (1&lt;&lt;WGM02);                                   //tryb NORMAL[/syntax]<br /><br />to wg ciebie jakie byłoby ustawienie dla trybu nr.7 - czyli Fast PWM ??? hmmm <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 16 maja 2013, o 12:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[zoom]]></name></author>
<updated>2013-05-16T11:48:13+01:00</updated>
<published>2013-05-16T11:48:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3131&amp;p=37089#p37089</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3131&amp;p=37089#p37089"/>
<title type="html"><![CDATA[ATtiny2313A problem z konfiguracją TIMER0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3131&amp;p=37089#p37089"><![CDATA[
Witam!<br />Napisałem kod wykorzystujący przerwanie przepełnienia Timera0.<br />Układ jest taktowany z zewnętrznego rezonatora 4MHz.<br />Timer0 ma pracować w trybie NORMAL, z preskalerem ustawionym na 1024.<br /><br />Poniżej kod konfiguracji Timera0:<br />[syntax=c]TCCR0A |= (1&lt;&lt;WGM00)|(1&lt;&lt;WGM01);//tryb NORMAL<br />TCCR0B |= (1&lt;&lt;WGM02);//tryb NORMAL<br />TCCR0B |= (1&lt;&lt;CS02)|(1&lt;&lt;CS00);//preskaler = 1024<br />TIMSK  |= (1&lt;&lt;TOIE0);//włączenie przerwań od przepełnienia[/syntax]<br /><br />Poniżej kod całego programu. Wg mnie to powinno działać tak, że przy tak ustawionym preskalerze przerwanie powinno być generowane co 0,07s czyli dioda migałaby z f = ~15Hz.<br />Coś muszę jednak robić nie tak, ponieważ diody święcą wręcz ciągle. Tzn po jasności widać, że jednak migają, ale jest to częstotliwość niedostrzegalna przez ludzkie oko. A może po prostu źle sobie obliczyłem?<br />Ale 4MHz/256(czas zapełnienia rejestru)/1024(preskaler)=15Hz.<br />Wykończyć się można przez te mikrokontrolery;)<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /><br /><br />#define LED_ON   PORTB &amp;= ~(1&lt;&lt;PB0)<br />#define LED_OFF  PORTB |=  (1&lt;&lt;PB0)<br />#define LED_TOG  PORTB ^=  (1&lt;&lt;PB0)<br /><br />#define LED1_ON  PORTB &amp;= ~(1&lt;&lt;PB1)<br />#define LED1_OFF PORTB |=  (1&lt;&lt;PB1)<br />#define LED1_TOG PORTB ^=  (1&lt;&lt;PB1)<br /><br />#define LED2_ON  PORTB &amp;= ~(1&lt;&lt;PB2)<br />#define LED2_OFF PORTB |=  (1&lt;&lt;PB2)<br />#define LED2_TOG PORTB ^=  (1&lt;&lt;PB2)<br /><br />#define LED3_ON  PORTB &amp;= ~(1&lt;&lt;PB3)<br />#define LED3_OFF PORTB |=  (1&lt;&lt;PB3)<br />#define LED3_TOG PORTB ^=  (1&lt;&lt;PB3)<br /><br /><br />volatile uint8_t int0_flag, T0_OVF_flag;<br />uint8_t cnt_sig, cnt_bit;<br />uint8_t bufor&#91;60&#93;;<br /><br />int main(void){<br /><br />DDRB  |=  (1&lt;&lt;PB0)|(1&lt;&lt;PB1)|(1&lt;&lt;PB2)|(1&lt;&lt;PB3);<br />DDRD  |=  (1&lt;&lt;PD3);<br />PORTB |=  (1&lt;&lt;PB0)|(1&lt;&lt;PB1)|(1&lt;&lt;PB2)|(1&lt;&lt;PB3);<br />PORTD &amp;= ~(1&lt;&lt;PD3);<br /><br />//konfiguracja przerwań INT0<br />MCUCR |= (1&lt;&lt;ISC01)|(1&lt;&lt;ISC00);//wyzwalanie zboczem narastającym<br />GIMSK |= (1&lt;&lt;INT0);//włączenie przerwania<br />//end<br /><br />//konfiguracja TIMERA0<br />TCCR0A |= (1&lt;&lt;WGM00)|(1&lt;&lt;WGM01);//tryb NORMAL<br />TCCR0B |= (1&lt;&lt;WGM02);//tryb NORMAL<br />TCCR0B |= (1&lt;&lt;CS02)|(1&lt;&lt;CS00);//preskaler = 1024<br />TIMSK  |= (1&lt;&lt;TOIE0);//włączenie przerwań od przepełnienia<br />//end<br /><br /><br />LED_ON;<br />_delay_ms(200);<br />LED_OFF;<br />LED1_ON;<br />_delay_ms(200);<br />LED1_OFF;<br />LED2_ON;<br />_delay_ms(200);<br />LED2_OFF;<br /><br />sei();<br /><br />while(1){<br />if(T0_OVF_flag){<br />LED3_TOG;<br />LED_TOG;<br />T0_OVF_flag=0;<br /><br />}<br />}<br />}<br />ISR(INT0_vect){<br />int0_flag=1;<br />}<br /><br />ISR(TIMER0_OVF_vect){<br />T0_OVF_flag=1;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=685">zoom</a> — 16 maja 2013, o 11:48</p><hr />
]]></content>
</entry>
</feed>