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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-07-06T19:43:55+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=12224&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2015-07-06T19:43:55+01:00</updated>
<published>2015-07-06T19:43:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12224&amp;p=133786#p133786</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12224&amp;p=133786#p133786"/>
<title type="html"><![CDATA[Re: Timer 16-bit problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12224&amp;p=133786#p133786"><![CDATA[
<div class="quotetitle">moscow18-1990 napisał(a):</div><div class="quotecontent"><br />W tej kolumnie TOP jest podany rejestr OCR1A i dlatego mam ustawić go jako rejestr porównania?<br /></div><br />Dokładnie.<br /><br /><div class="quotetitle">moscow18-1990 napisał(a):</div><div class="quotecontent"><br />Przepraszam że zadaję takie pytania być może to dla innych jest oczywiste ale mimo wszystko muszę dopytać..<br /></div><br />Nie ma za co przepraszać po to jest to forum ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 6 lip 2015, o 19:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Zaba]]></name></author>
<updated>2015-07-06T19:14:49+01:00</updated>
<published>2015-07-06T19:14:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12224&amp;p=133784#p133784</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12224&amp;p=133784#p133784"/>
<title type="html"><![CDATA[Re: Timer 16-bit problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12224&amp;p=133784#p133784"><![CDATA[
Jeszcze popraw włączanie przerwań <br />funkcja sei().<br />Teraz program wogóle do niej nie dochodzi bo zatrzymany jest<br />w pętli while(1) .<br />sei() wywołaj bezpośrednio przed tą pętlą (pętlą główną).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1044">Zaba</a> — 6 lip 2015, o 19:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[moscow18-1990]]></name></author>
<updated>2015-07-06T19:03:37+01:00</updated>
<published>2015-07-06T19:03:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12224&amp;p=133782#p133782</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12224&amp;p=133782#p133782"/>
<title type="html"><![CDATA[Re: Timer 16-bit problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12224&amp;p=133782#p133782"><![CDATA[
Chodzi o czwarty wiersz w tej tabelce i kolumnę TOP? W tej kolumnie TOP jest podany rejestr OCR1A i dlatego mam ustawić go jako rejestr porównania? Przepraszam że zadaję takie pytania być może to dla innych jest oczywiste ale mimo wszystko muszę dopytać..<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5472">moscow18-1990</a> — 6 lip 2015, o 19:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2015-07-06T18:50:32+01:00</updated>
<published>2015-07-06T18:50:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12224&amp;p=133781#p133781</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12224&amp;p=133781#p133781"/>
<title type="html"><![CDATA[Re: Timer 16-bit problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12224&amp;p=133781#p133781"><![CDATA[
<div class="quotetitle">moscow18-1990 napisał(a):</div><div class="quotecontent"><br />Chciałbym dobrze zrozumieć o co chodzi w tym trybie CTC i jak działa ten rejestr porównania. Jeżeli jest jakiś błąd w moim programie i mógłby mi powiedzieć na czym on polega i dlaczego stan diody się nie zmienia byłbym wdzięczny.<br /></div><br />Uwierz mi, że nie chodzi o to żeby każdego odsyłać do noty PDF ... no ale w tym przypadku to na prawdę chociażby nie wiem co to jednak - sam nie zrozumiesz - jak nie zajrzysz do nory do czego są rejestry<br /><br />TCCR1A<br />TCCR1B<br /><br />możesz teraz zajrzeć ??? (nawet nie czytać tylko zobaczyć opis bitów na tych obrazkach w nocie) ... proszę<br /><br />A jak już zajrzysz - to użyj do realizacji przerwania: OCR1A i TIMER1_COMPA_vect zamiast tego z B ... (to też wynika właśnie z noty jak sobie zajrzysz do opisu rejestru TCCRx do tabelki trybów - jak rzucisz okiem na CTC to zobacz od jakiego rejestru leci porównanie OCR1A czy OCR1B<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: kilkunastu sekundach ]</span></strong><br /><br /><div class="quotetitle">moscow18-1990 napisał(a):</div><div class="quotecontent"><br />A mianowicie ostatnia literka w nazwie rejestru i wektorze przerwania zsotała zmieniona z B na A. Moje pytanie brzmi dlaczego właśnie tak musi być?<br /></div><br />Jak pisałem wyżej zajrzyj do noty do opisu tych dwóch rejestrów i zrozumiesz<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 6 lip 2015, o 18:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[moscow18-1990]]></name></author>
<updated>2015-07-06T18:51:49+01:00</updated>
<published>2015-07-06T18:15:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12224&amp;p=133778#p133778</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12224&amp;p=133778#p133778"/>
<title type="html"><![CDATA[Timer 16-bit problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12224&amp;p=133778#p133778"><![CDATA[
Mam problem z tym żeby zadziałało mi przerwanie po ustawieniu timera 16-bitowego. Chciałbym dobrze zrozumieć o co chodzi w tym trybie CTC i jak działa ten rejestr porównania. Jeżeli jest jakiś błąd w moim programie i mógłby mi powiedzieć na czym on polega i dlaczego stan diody się nie zmienia byłbym wdzięczny.Chodzi mi też o różnicę w tych rejestrach OCR1A iOCR1B i to jak nazwa takiego rejestru ma się do wektora przerwania. Korzystam z procesora atmega 32. Za wszelkie rady będę niezmiernie wdzięczny.<br /><br />[syntax=c]#include&lt;avr/io.h&gt;<br />#include&lt;avr/interrupt.h&gt;<br /><br /><br />#define LED_PIN (1&lt;&lt;PC7)<br /><br />void timer_init();<br /><br />int main()<br />{<br />DDRC |= LED_PIN;<br />timer_init();<br />while(1){}<br />sei();<br />}<br /><br />void timer_init()<br />{<br />TCCR1B |= (1&lt;&lt;WGM12); // tryb CTC timer 16 bit<br /><br />TCCR1B |= (1&lt;&lt;CS12); // preskaler podział częstotliwoci taktowania przez 256 <br /><br /><br />OCR1B = 31249;<br /><br />TIMSK |= (1&lt;&lt;OCIE1B);<br /><br /><br />}<br /><br /><br />ISR(TIMER1_COMPB_vect)  <br />{<br />PORTC ^= (1&lt;&lt;PC7);<br />}[/syntax]<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 34 minutach ]</span></strong><br /><br />Dobra zadziałało ale mam kilka pytań wprowadziłem małe zmiany i stan diody się zmienia podaję program i zapytam dlaczego pewne korekty spowodowały zadziałanie:<br />[syntax=c]#include&lt;avr/io.h&gt;<br />#include&lt;avr/interrupt.h&gt;<br /><br /><br />#define LED_PIN (1&lt;&lt;PC7)<br /><br />void timer_init(void);<br /><br />int main()<br />{<br />DDRC |= LED_PIN;<br />timer_init();<br />sei();<br />while(1){}<br /><br />}<br /><br />void timer_init(void)<br />{<br />TCCR1B |= (1&lt;&lt;WGM12); // tryb CTC timer 16 bit<br /><br />TCCR1B |= (1&lt;&lt;CS12); // preskaler podział częstotliwoci taktowania przez 256 co daje 31250<br /><br /><br />OCR1A = 31249;<br /><br />TIMSK |= (1&lt;&lt;OCIE1A);<br /><br /><br />}<br /><br /><br />ISR(TIMER1_COMPA_vect)<br />{<br />PORTC ^= (1&lt;&lt;PC7);<br />}[/syntax]<br /><br /><br />Zmiana nastąpiła tutaj:<br />[syntax=c]OCR1A = 31249;<br /><br />TIMSK |= (1&lt;&lt;OCIE1A);<br /><br /><br />}<br /><br /><br />ISR(TIMER1_COMPA_vect)<br />{<br />PORTC ^= (1&lt;&lt;PC7);<br />}[/syntax]<br /><br />A mianowicie ostatnia literka w nazwie rejestru i wektorze przerwania zsotała zmieniona z B na A. Moje pytanie brzmi dlaczego właśnie tak musi być?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5472">moscow18-1990</a> — 6 lip 2015, o 18:15</p><hr />
]]></content>
</entry>
</feed>