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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-04-27T12:38:04+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=6896&amp;mode</id>
<entry>
<author><name><![CDATA[cybertom]]></name></author>
<updated>2014-04-27T12:38:04+01:00</updated>
<published>2014-04-27T12:38:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6896&amp;p=79414#p79414</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6896&amp;p=79414#p79414"/>
<title type="html"><![CDATA[Re: ATmega328p Timer0 i Timer1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6896&amp;p=79414#p79414"><![CDATA[
Dziekuje bardzo za pomoc. Rzeczywiscie uart_puts byl winny. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Teraz wszystko gra. Ciagle sie ucze <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Pozdrawiam Wszystkich.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2040">cybertom</a> — 27 kwi 2014, o 12:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2014-04-27T12:27:49+01:00</updated>
<published>2014-04-27T12:27:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6896&amp;p=79413#p79413</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6896&amp;p=79413#p79413"/>
<title type="html"><![CDATA[Re: ATmega328p Timer0 i Timer1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6896&amp;p=79413#p79413"><![CDATA[
Przy ustawieniu licznika TCNT0=uzyskujesz przerwanie z częstotliwością około 125 Hz czyli około raz na 8 ms.<br />Czy taki był Twój zamiar ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 27 kwi 2014, o 12:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-04-27T12:26:38+01:00</updated>
<published>2014-04-27T12:26:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6896&amp;p=79412#p79412</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6896&amp;p=79412#p79412"/>
<title type="html"><![CDATA[Re: ATmega328p Timer0 i Timer1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6896&amp;p=79412#p79412"><![CDATA[
<div class="quotetitle">cybertom napisał(a):</div><div class="quotecontent"><br />uart_puts wstawilem tylko kontrolnie zeby widzie czy nastepuje przerwanie<br /></div><br /><br />Panie .... uart_puts() trwa długo ... nawet bardzo długo ... skąd w ogóle taki pomysł ?<br /><br />czy wstawienie diody LED żeby migała np:<br /><br />[syntax=c]PORTC ^= (1&lt;&lt;PC7);[/syntax]<br /><br />nie dałoby ci tego samego efektu - tzn jeśli chodzi o sprawdzenie ?<br /><br />toż &quot;rozjeżdżasz jak walcem drogowym&quot; procedurę przerwania, rozklepując ją jak naleśnik w czasie, i dziwisz się że coś jest nie tak ?<br /><br />NAWET gdybyś chciał użyć rs232 do debugowania to co za problem ustawić w przerwaniu FLAGĘ w miejscu gdzie teraz robisz wysyłanie a w pętli głównej ją sprawdzać i wtedy wysyłać coś do terminala?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 27 kwi 2014, o 12:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[cybertom]]></name></author>
<updated>2014-04-27T12:20:53+01:00</updated>
<published>2014-04-27T12:20:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6896&amp;p=79411#p79411</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6896&amp;p=79411#p79411"/>
<title type="html"><![CDATA[Re: ATmega328p Timer0 i Timer1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6896&amp;p=79411#p79411"><![CDATA[
Witam<br />uart_puts wstawilem tylko kontrolnie zeby widzie czy nastepuje przerwanie. Taktowanie zewnetrzny rezonator 16Mhz. W funkkcji main narazie nic nie ma.<br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2040">cybertom</a> — 27 kwi 2014, o 12:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq8dsr]]></name></author>
<updated>2014-04-27T12:17:29+01:00</updated>
<published>2014-04-27T12:17:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6896&amp;p=79410#p79410</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6896&amp;p=79410#p79410"/>
<title type="html"><![CDATA[Re: ATmega328p Timer0 i Timer1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6896&amp;p=79410#p79410"><![CDATA[
Jakie jest taktowanie i czym?<br />Timer0 jest 8-bitowy może mieć pewne odchylenie. <br /><br />Procedura uart_puts w przerwaniu to nie jest dobry pomysł, szczególnie przy 2 przerwaniach.<br />Mogą być opóźnienia.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1589">sq8dsr</a> — 27 kwi 2014, o 12:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[karolek]]></name></author>
<updated>2014-04-27T12:22:21+01:00</updated>
<published>2014-04-27T12:15:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6896&amp;p=79409#p79409</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6896&amp;p=79409#p79409"/>
<title type="html"><![CDATA[Re: ATmega328p Timer0 i Timer1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6896&amp;p=79409#p79409"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />[syntax=c]CCR1B |= (1 &lt;&lt; WGM12); <br />OCR1A = 15625;<br />TCCR1B |= (1 &lt;&lt; CS12) | (1 &lt;&lt; CS10); <br />TIMSK1 |= (1 &lt;&lt; OCIE1A); <br /><br /><br />TCCR0B |=(1&lt;&lt;CS02) | (1&lt;&lt;CS00);<br />TCNT0=131;<br />TIMSK0 |=(1&lt;&lt;TOIE0);<br />sei();<br /><br /><br />ISR(TIMER1_COMPA_vect)<br />{<br /> uart_puts(&quot;przerwanie timer1\n\r&quot;);<br />}<br /><br /><br />ISR (TIMER0_OVF_vect)<br />{<br /><br /><br />licznik++;<br />if (licznik&gt;125)<br />{ <br /> uart_puts(&quot;przerwanie 1s Timer0 \n\r&quot;);<br /> licznik=0;<br /><br />}<br />TCNT0=131;<br />}[/syntax]<br /></div><br /><br />wywal uart_puts bo mozliwe ze wysylanie przez uart rozwala ci czasy <br />zamiast tego zastosuj mechanizm timerów programowych i wywoluj uart_puts w petli while <br />przerwania umieszczasz wewnątrz funkcji main ?<br /><br />podaj jak wygląda kompletna funkcja main w twoim programie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2535">karolek</a> — 27 kwi 2014, o 12:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[cybertom]]></name></author>
<updated>2014-04-27T12:21:27+01:00</updated>
<published>2014-04-27T12:09:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6896&amp;p=79408#p79408</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6896&amp;p=79408#p79408"/>
<title type="html"><![CDATA[ATmega328p Timer0 i Timer1]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6896&amp;p=79408#p79408"><![CDATA[
Witam<br />Mecze sie z timerem0 w tym mikrokontrolerze. Taktowanie 16Mhz.Chce odmierzyc czas 1 s po czym następuje przerwanie.Z niewiadomych mi przyczyn timer0 rozjeżdża sie w czasie i to sporo na 1 minucie jest to aż 10s zaa mało. Natomiast timer1 idealnie odmierza czas, oto kawalek kodu:<br /><br />[syntax=c]int main(void)<br />{<br />CCR1B |= (1 &lt;&lt; WGM12); <br />OCR1A = 15625;<br />TCCR1B |= (1 &lt;&lt; CS12) | (1 &lt;&lt; CS10); <br />TIMSK1 |= (1 &lt;&lt; OCIE1A); <br /><br /><br />TCCR0B |=(1&lt;&lt;CS02) | (1&lt;&lt;CS00);<br />TCNT0=131;<br />TIMSK0 |=(1&lt;&lt;TOIE0);<br />sei();<br /> <br />  stdout = &amp;lcdout;<br /> while(1)<br />  { <br /><br /> }<br />  return 0;<br />}<br /><br />ISR(TIMER1_COMPA_vect)<br />{<br /> uart_puts(&quot;przerwanie timer1\n\r&quot;);<br />}<br /><br /><br />ISR (TIMER0_OVF_vect)<br />{<br /><br /><br />licznik++;<br />if (licznik&gt;125)<br />{ <br /> uart_puts(&quot;przerwanie 1s Timer0 \n\r&quot;);<br /> licznik=0;<br /><br />}<br />TCNT0=131;<br />}[/syntax]<br /><br />Prosze o pomoc.W kodzie podaje tylko ustawienia timerow  iich przerwania.<br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2040">cybertom</a> — 27 kwi 2014, o 12:09</p><hr />
]]></content>
</entry>
</feed>