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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-07-10T16:09:49+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=12271&amp;mode</id>
<entry>
<author><name><![CDATA[sternick]]></name></author>
<updated>2015-07-10T16:09:49+01:00</updated>
<published>2015-07-10T16:09:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12271&amp;p=134135#p134135</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12271&amp;p=134135#p134135"/>
<title type="html"><![CDATA[Re: ATtiny2313 - konfiguracja TIMER1 (16-bitowy)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12271&amp;p=134135#p134135"><![CDATA[
Mirku, dziękuję za odpowiedź. Mój błąd i niedopatrzenie. Rozumiem działanie trybu NORMAL, w skrócie: liczy od zadanej wartości wzwyż do momentu przepełnienia, a więc uzyskania wartości granicznej - w tym przypadku 65535 (16-bitowy TIMER). Wszystko działa, raz jeszcze dziękuję!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10300">sternick</a> — 10 lip 2015, o 16:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2015-07-10T15:51:36+01:00</updated>
<published>2015-07-10T15:51:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12271&amp;p=134134#p134134</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12271&amp;p=134134#p134134"/>
<title type="html"><![CDATA[Re: ATtiny2313 - konfiguracja TIMER1 (16-bitowy)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12271&amp;p=134134#p134134"><![CDATA[
<div class="quotetitle">sternick napisał(a):</div><div class="quotecontent"><br />                //inicjalizacja licznika wartoscia 56, zeby zliczal wciaz 200 tykniec<br />                TCNT1 = 56;<br /></div><br /><br />panie panie, pomyśl .... ustawiasz w przerwaniu TCNT1 na 56, i jak myślisz kiedy się wykona kolejne przerwanie ? DOOPIERO wtedy gdy TCNT1 się przepełni czyli dopiero gdy osiągnie wartość 65535 - jak myślisz ile to potrwa ?<br /><br />Masz Bluebooka ? zajrzyj tam o co chodzi w korzystaniu z trybu NORMAL<br /><br />jak nie masz to<br /><br />TCNT1 = 65536-56;<br /><br />wtedy będziesz miał lepiej<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 10 lip 2015, o 15:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sternick]]></name></author>
<updated>2015-07-10T15:43:45+01:00</updated>
<published>2015-07-10T15:43:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12271&amp;p=134132#p134132</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12271&amp;p=134132#p134132"/>
<title type="html"><![CDATA[Re: ATtiny2313 - konfiguracja TIMER1 (16-bitowy)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12271&amp;p=134132#p134132"><![CDATA[
Racja, już poprawione. Dziękuję.<br />Nie ma błędu podczas kompilacji, ale po wgraniu wsadu na deklarowanych pinach nic się nie dzieje - dioda wygaszona. Procesor taktowany wewnętrznym oscylatorem 8 MHz. Gdzie robię błąd?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10300">sternick</a> — 10 lip 2015, o 15:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jerrylu]]></name></author>
<updated>2015-07-10T14:25:49+01:00</updated>
<published>2015-07-10T14:25:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12271&amp;p=134120#p134120</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12271&amp;p=134120#p134120"/>
<title type="html"><![CDATA[Re: ATtiny2313 - konfiguracja TIMER1 (16-bitowy)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12271&amp;p=134120#p134120"><![CDATA[
Czy mnie oczy nie mylą... obsługa przerwania jest wewnątrz funkcji main?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8719">jerrylu</a> — 10 lip 2015, o 14:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sternick]]></name></author>
<updated>2015-07-10T14:09:19+01:00</updated>
<published>2015-07-10T14:09:19+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12271&amp;p=134119#p134119</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12271&amp;p=134119#p134119"/>
<title type="html"><![CDATA[ATtiny2313 - konfiguracja TIMER1 (16-bitowy)]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12271&amp;p=134119#p134119"><![CDATA[
Witam,<br /><br />Mam następujący problem. Otóż próbuję zrealizować 3-kanałowy programowy PWM z wykorzystaniem TIMER1 (ćwiczenie wykonuję oczywiście w oparciu o zagadnienia zawarte w BB). Ustaliłem nazwę wektora TIMER1, wartości rejestrów konfiguracyjnych etc. ale podczas kompilowania pojawia się błąd o treści: <br />&quot;error: static declaration of '__vector_5' follows non-static declaration&quot; oraz czerwony znak przy procedurze obsługi przerwania ISR. Co może być tego przyczyną? Z góry dziękuję za wszelką pomoc.<br /><br />Pozdrawiam!<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 />volatile uint8_t pwm1;<br />volatile uint8_t pwm2;<br />volatile uint8_t pwm3;<br /><br />int main(void)<br />{<br />DDRB |= (1&lt;&lt;PB0) | (1&lt;&lt;PB1) | (1&lt;&lt;PB2);<br />PORTB |= (1&lt;&lt;PB0) | (1&lt;&lt;PB1) | (1&lt;&lt;PB2);<br />//domyslnie wybrany tryb normal wiec nie ustawiamy rejestru WGM<br />TCNT1 = 56;//inicjalizacja licznika wartoscia 56<br />TCCR1B |= (1&lt;&lt;CS10);//preskaler 1<br />TIMSK |= (1&lt;&lt;TOIE1);//zezwolenie na przerwanie OVF (overflow - przepelnienie)<br /><br /><br />sei();//globalne odblowanie przerwań<br />while(1)<br />{<br />//przykladowy program<br />}<br /><br />ISR ( TIMER1_OVF_vect )<br />{<br />static uint16_t cnt;//definicja naszego licznika PWM<br /><br />//inicjalizacja licznika wartoscia 56, zeby zliczal wciaz 200 tykniec<br />TCNT1 = 56;<br /><br />if ( cnt &gt;= pwm1 ) PORTB |= (1&lt;&lt;PB0); else PORTB &amp;= ~(1&lt;&lt;PB0);<br />if ( cnt &gt;= pwm2 ) PORTB |= (1&lt;&lt;PB1); else PORTB &amp;= ~(1&lt;&lt;PB1);<br />if ( cnt &gt;= pwm3 ) PORTB |= (1&lt;&lt;PB2); else PORTB &amp;= ~(1&lt;&lt;PB2);<br /><br />cnt++;<br />if ( cnt &gt; 511 ) cnt = 0;<br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10300">sternick</a> — 10 lip 2015, o 14:09</p><hr />
]]></content>
</entry>
</feed>