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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2012-12-05T19:55:40+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=1869&amp;mode</id>
<entry>
<author><name><![CDATA[kiclaw]]></name></author>
<updated>2012-12-05T19:55:40+01:00</updated>
<published>2012-12-05T19:55:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20203#p20203</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20203#p20203"/>
<title type="html"><![CDATA[Re: Ustawienie TIMER0 na 1MHz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20203#p20203"><![CDATA[
No tak, racja. W takim razie moge najprościej w życiu po prostu odjąć tę siódemkę.<br /><br />Natomiast pytałem o to, bo czujnik mierzy mi pięknie ładnie do 1652 (czyli 1652/2/58=14cm). Wyżej już licznik pokazywać nie chce, i myślałem że to wina samego czujnika.<br /><br /><br />EDIT: Ma ktoś może czujniczek HC-SR04? Bo nie wiem już czy to wina programu czy samego czujnika.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=600">kiclaw</a> — 5 gru 2012, o 19:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2012-12-05T19:06:38+01:00</updated>
<published>2012-12-05T19:06:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20201#p20201</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20201#p20201"/>
<title type="html"><![CDATA[Re: Ustawienie TIMER0 na 1MHz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20201#p20201"><![CDATA[
Jak rozumiem to T[us] to jest generowane przez ten sam procesor i nie sprawdzasz oscyloskopem co się wygenerowało. Twoja sekwencja generowania impulsu właściwie to wygląda tak:<br />[syntax=c]PORTA |= (1&lt;&lt;PA0); //wystawienie jedynki na TRIG<br />/* wygenerowanie sygnału przerwania skok do wektora przerwań */<br />/* skok do procedury obsługi przerwania */<br />/* odłożenie używanych rejestrów na stos */<br />/* realizacja procedury przerwania */<br />/* zdjęcie rejestrów ze stosu */<br />/* powrót */<br /> _delay_us(10);          //wymagane 10 uS stanu wysokiego<br />PORTA &amp;= ~(1&lt;&lt;PA0);     //wystawienie zera na TRIG[/syntax]<br />Sporo tego. Weź teraz pod uwagę, że przy taktowaniu 16MHz jedna instrukcja asemblera (typowa, bo są i dłuższe) zajmuje 1 cykl zegara, czyli 1/16 us.<br />Jak masz drugi procesor to jednym generuj, a drugim zmierz. Oczywiście możesz pominąć ten eksperyment. Czujnik przecież sam generuje sygnał.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 5 gru 2012, o 19:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kiclaw]]></name></author>
<updated>2012-12-05T18:45:31+01:00</updated>
<published>2012-12-05T18:45:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20200#p20200</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20200#p20200"/>
<title type="html"><![CDATA[Re: Ustawienie TIMER0 na 1MHz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20200#p20200"><![CDATA[
O to to kolego <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Teraz się ładnie ustabilizowało. Wyniknął jeszcze jeden mały problem. Mianowicie taktuje 16MHz, preskaler ustawiony na 8 więc przerwanie mam co 0,5uS. Czyli zmienną PulseWidth dziele na 2 i wychodzi mi wynik w uS. No i było by ok gdyby ta zmienna miała wartość: (długość_sygnału)*2. Problem w tym że ma trochę więcej, poczyniłem taką tabelkę w której wypisane jest ile wynosił stan wysoki na pinie, a ile uC zmierzył.<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/600_af5a6c97f67e0ae4f929132b2a883636.JPG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/600_af5a6c97f67e0ae4f929132b2a883636.JPG" alt="Obrazek" /></a><br /><br />Włączenie redukcji szumów ICNC1 w rejestrze TCCR1B nie daje zupełnie nic.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=600">kiclaw</a> — 5 gru 2012, o 18:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2012-12-05T08:59:28+01:00</updated>
<published>2012-12-05T08:59:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20156#p20156</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20156#p20156"/>
<title type="html"><![CDATA[Re: Ustawienie TIMER0 na 1MHz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20156#p20156"><![CDATA[
No tak PulseWidth w takim przypadku zawiera czas trwania stanu wysokiego, a następnym razem stanu niskiego (który jest nieokreślony, bo zależy od momentu wyzwolenia impulsu). Oczywiście wtedy gdy masz:<br />[syntax=c]TCCR1B ^= (1&lt;&lt;ICES1);[/syntax]bo zmiana na [syntax=c]TCCR1B &amp;= ~(1&lt;&lt;ICES1);[/syntax] jest bez sensu.<br />Wprowadź taką poprawkę:<br />[syntax=c]ISR(TIMER1_CAPT_vect)<br />{<br />    static uint16_t LastCapture;<br />       <br />    if( !(TCCR1B &amp; (1&lt;&lt;ICES1)) ) PulseWidth = ICR1 - LastCapture;<br />    LastCapture = ICR1;<br />   <br />    TCCR1B ^= (1&lt;&lt;ICES1); //zmiana zbocza<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 5 gru 2012, o 08:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[elkuba]]></name></author>
<updated>2012-12-04T20:41:15+01:00</updated>
<published>2012-12-04T20:41:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20124#p20124</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20124#p20124"/>
<title type="html"><![CDATA[Re: Ustawienie TIMER0 na 1MHz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20124#p20124"><![CDATA[
Witaj.<br />Ja na Twoim miejscu zainteresowałbym się jakimś analizatorem stanów logicznych. Niestety bez sprawdzenia &quot;organoleptycznego&quot; trudno Ci będzie sprawdzić, czy Twoje założenia co do działania programu są poprawne.<br />Piszę to z własnego doświadczenia. Na potrzeby konkursu kolego !NIEBO dotyczącego bezdotykowego włączania i wyłączania światełek próbowałem wygenerować na przerwaniu falę prostokątną o częstotliwości 36kHz. Niby wszystkie preskalery i inne wartości były poustawiane poprawnie ale ni w ząb nie chciało działać. Dopiero analiza przy pomocy analizatora stanów logicznych w piękny sposób pokazała mi gdzie robię błędy.<br />Mam za mało doświadczenia w praktycznym pisaniu programów na mikrokontrolery i uwierz mi, odpowiednie narzędzia po prostu pokazują całą radość z zabawy (w moim akurat przypadku) mikrokontrolerami.<br />Trzeba mieć doświadczenie Mirka i Suna aby pisać programy bez konieczności (częstego) sięgania po takie narzędzia jak analizator stanów logicznych, czy oscyloskop.<br />A po drugie szkoda nerwów i wątroby na szukanie błędów w programach <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=400">elkuba</a> — 4 gru 2012, o 20:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kiclaw]]></name></author>
<updated>2012-12-04T19:40:02+01:00</updated>
<published>2012-12-04T19:40:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20112#p20112</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20112#p20112"/>
<title type="html"><![CDATA[Re: Ustawienie TIMER0 na 1MHz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20112#p20112"><![CDATA[
Hmm dobry pomysł z tym podłączeniem wyjścia PA0 do ICP. No ale cóż, okazało się że w tym przypadku również na LCD pokazuje mi losowe liczby, bez względu na to czy sygnał trwa 10uS czy 1000uS.<br /><br />W takim razie problem leży po stronie programu. Pobawiłem się z różnymi preskalerami oraz różnymi częstotliwościami ale wynik cały czas ten sam. Losowe liczny w zmiennej PulseWidth.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=600">kiclaw</a> — 4 gru 2012, o 19:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2012-12-04T18:38:47+01:00</updated>
<published>2012-12-04T18:38:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20109#p20109</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20109#p20109"/>
<title type="html"><![CDATA[Re: Ustawienie TIMER0 na 1MHz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20109#p20109"><![CDATA[
Na początek połącz sobie wyjście TRIGER i wejście ICP i zmierz sobie czas stanu wysokiego który generujesz dla HC-SR04. Możesz sobie dla testów zmienić _delay_us(10) na inne wartości, aż do maksymalnej.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 4 gru 2012, o 18:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kiclaw]]></name></author>
<updated>2012-12-04T17:34:12+01:00</updated>
<published>2012-12-04T17:34:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20101#p20101</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20101#p20101"/>
<title type="html"><![CDATA[Re: Ustawienie TIMER0 na 1MHz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20101#p20101"><![CDATA[
Zrobiłem układ z wejściem ICP, ale nadal coś mi nie chce działać. O co chodzi, generalnie wykorzystuje miernik odległości HC-SR04, który wyzwala się 10 mikro-sekundowym stanem wysokim na nóżkę TRIG. Po jakimś czasie przychodzi odpowiedź w postaci proporcjonalnego do odległości stanu wysokiego na wyprowadzenie ECHO.<br /><br />Napisałem coś takiego:<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 />#include &quot;lcd44780.h&quot;<br /><br />#define KEY_DOWN !(PINA &amp; (1&lt;&lt;PA1))<br /><br />void triger(void);<br />uint8_t licznik_switch=0;<br /><br />volatile uint16_t PulseWidth;<br /><br /><br />int main()<br />{<br />DDRA |= (1&lt;&lt;PA0);//wyjscie<br />PORTA &amp;= ~(1&lt;&lt;PA0); //TRIGER<br /><br />DDRD &amp;= ~(1&lt;&lt;PD6);//wejscie ECHO<br />PORTD &amp;= ~(1&lt;&lt;PD6);//ICP<br /><br />DDRA &amp;= ~(1&lt;&lt;PA1); // wejscie + pullup<br />PORTA |= (1&lt;&lt;PA1); // uSWITCH<br /><br />lcd_init();<br /><br />    TCCR1B |= (1&lt;&lt;ICES1);  /* Zbocze narastające wywoła przerwanie*/<br />    TCCR1B |= (1&lt;&lt;CS10);   /* preskaler = 1 */<br />    TIMSK |= (1&lt;&lt;TICIE1);   /* zezwolenie na przerwanie od ICP */<br /><br />    sei();                 /* globalne zezwolenie na przerwania */<br /><br />while(1)<br />{<br />lcd_locate(0,0);<br />lcd_int(licznik_switch);<br />lcd_locate(1,5);<br />lcd_int(PulseWidth);<br />if(KEY_DOWN)<br />{<br />_delay_ms(80); //obsługa przycisku zrobiona w najprostszy sposób<br />if(KEY_DOWN)<br />{<br />lcd_cls();<br />triger(); //wyzwolenie<br />licznik_switch++;//potwierdzenie wyzwolenia na LCD<br />}<br />}<br />}//koniec while(1)<br />}//koniec main<br /><br />ISR(TIMER1_CAPT_vect)<br />{<br />    static uint16_t LastCapture;<br /><br />    PulseWidth = ICR1 - LastCapture;<br />    LastCapture = ICR1;<br /><br />    TCCR1B &amp;= ~(1&lt;&lt;ICES1); //zbocze malejące wywoła przerwanie<br />}<br /><br /><br />void triger(void)<br />{<br />PORTA &amp;= ~(1&lt;&lt;PA0);<br />_delay_us(2);<br />PORTA |= (1&lt;&lt;PA0); //wystawienie jedynki na TRIG<br />_delay_us(10);//wymagane 10 uS stanu wysokiego<br />PORTA &amp;= ~(1&lt;&lt;PA0);//wystawienie zera na TRIG<br />}<br />[/syntax]<br /><br />Wykorzystałem wejście ICP, i wg. datasheet HC-SR04, wynik to czas stanu wysokiego w uS podzielony przez 58.<br /><br />W moim przypadku jako że wykorzystuję kwarc 16MHz i preskaler 1, to wynik wynosi (czas_w_us/2/58).<br /><br />No i na wyświetlaczu LCD zmienna PulseWidth dla różnych odległości przyjmuje praktycznie losowe wartości z całego zakresu int_16t.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=600">kiclaw</a> — 4 gru 2012, o 17:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2012-12-04T09:56:57+01:00</updated>
<published>2012-12-04T09:56:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20060#p20060</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20060#p20060"/>
<title type="html"><![CDATA[Re: Ustawienie TIMER0 na 1MHz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20060#p20060"><![CDATA[
Tylko tyle wystarczy:<br />[syntax=c]TCCR1B |= (1&lt;&lt;ICES1);  /* Zbocze narastające wywoła przerwanie*/<br />TIMSK |= (1&lt;&lt;TICIE1);   /* zezwolenie na przerwanie od ICP */<br />TCCR1B |= (1&lt;&lt;CS10);   /* preskaler = 1 */<br />sei();                           /* globalne zezwolenie na przerwania */[/syntax]<br />Jeśli chodzi o preskaler to ustawić możesz tylko 1, 8, 64, 256 i 1024 i tylko wykorzystując TCCR1B. W nowszych procesorach mógłbyś ewentualnie jeszcze skorzystać z preskalera systemowego i przy kwarcu 16MHz ustawić taktowanie procesora na 8MHz i dalej podzielić to przez 8 wykorzystując preskaler timera.<br />Zmienna PulseWidth oczywiście musi być globalna (bo po wyjściu z przerwania w twoim przykładzie przestaje istnieć) i z modyfikatorem volatile.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 4 gru 2012, o 09:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kiclaw]]></name></author>
<updated>2012-12-03T22:45:53+01:00</updated>
<published>2012-12-03T22:45:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20051#p20051</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20051#p20051"/>
<title type="html"><![CDATA[Re: Ustawienie TIMER0 na 1MHz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=20051#p20051"><![CDATA[
No OK. Napisałem coś takiego, ma to jakiś sens? <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Niestety nie mogę sprawdzić sam bo straciłem programator i odzyskam go dopiero jutro rano.<br /><br />uC taktowany 16MHz. Chce mierzyć czas stanu wysokiego na ICP (czas w uS).<br />[syntax=c]/* ustawienie TIMER1A dla F_CPU=16MHz ----- przerwanie co 1uS ---1MHz */<br />TCCR1B |= (1&lt;&lt;WGM12);/* tryb CTC */<br />TCCR1B |= (1&lt;&lt;CS10);/* preskaler = 1 */<br />OCR1A = 16;    /* dodatkowy podział przez 16 */<br />TIMSK |= (1&lt;&lt;TICIE1);/* zezwolenie na przerwanie od ICP */<br /><br /><br />TCCR1B |= (1&lt;&lt;ICES1);      // Zbocze narastające wywoła przerwanie[/syntax]<br /><br />I obsługa przerwania:<br />[syntax=c]ISR(TIMER1_CAPT_vect)<br />{<br />static uint16_t LastCapture;<br />uint16_t PulseWidth;<br /><br />    PulseWidth = ICR1 - LastCapture;<br />    LastCapture = ICR1; <br />    <br />    TCCR1B ^= (1&lt;&lt;ICES1); //zbocze malejące wywoła przerwanie<br />}[/syntax]<br /><br />I rozumiem że zmienna PulseWidth to mój czas stanu wysokiego w uS...Teraz żeby maksymalnie odchudzić przerwanie, to rozumiem że gdybym zadeklarował ją globalnie, to mógłbym ją obrabiać w głównej pętli while(1)? .<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=600">kiclaw</a> — 3 gru 2012, o 22:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2012-12-03T08:30:33+01:00</updated>
<published>2012-12-03T08:30:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=19974#p19974</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=19974#p19974"/>
<title type="html"><![CDATA[Re: Ustawienie TIMER0 na 1MHz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=19974#p19974"><![CDATA[
<div class="quotetitle">kiclaw napisał(a):</div><div class="quotecontent"><br />Otóż mam taki problem, bawię się teraz pewna zabawką, gdzie do zmierzenia czasu impulsu wysokiego potrzebuje mieć timer<br /></div><br />Do takich pomiarów wykorzystuje się tryb przechwytywania i wejście ICPx. Poczytaj w książce o dekodowaniu RC5.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 3 gru 2012, o 08:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kiclaw]]></name></author>
<updated>2012-12-02T22:51:39+01:00</updated>
<published>2012-12-02T22:51:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=19959#p19959</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=19959#p19959"/>
<title type="html"><![CDATA[Ustawienie TIMER0 na 1MHz]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1869&amp;p=19959#p19959"><![CDATA[
Otóż mam taki problem, bawię się teraz pewna zabawką, gdzie do zmierzenia czasu impulsu wysokiego potrzebuje mieć timer który by zliczał co 1uS (czyli 1MHz). Układ jest taktowany z wewn. oscylatora 8MHz, więc ustawienia dla timera są takie:<br /><br />[syntax=c]/*Ustawienie TIMER0 ---- 1MHz, co 1uS */<br />TCCR0 |= (1&lt;&lt;WGM01); //TRYB ctc<br />TCCR0 |= (1&lt;&lt;CS00);  //preskaler = 1<br />OCR0 =8;               //dodatkowy podział przez 8<br />TIMSK |= (1&lt;&lt;OCIE0); //zezwolenie na przerwanie[/syntax]<br /><br />Gdzie obsługa przerwania: <br />[syntax=c]ISR(TIMER0_COMP_vect)<br />{<br /><br />if(flaga_timer)<br />{<br />licznik_TIMER++;<br />}<br /><br />}[/syntax]<br /><br />No i wszystko było by pięknie, gdyby mi po prostu przy tej szybkości nie zwieszało procka. Po prostu, gdy ustawie taką szybkość, procek zareaguje raz po kilku sekundach a potem zwis. Co ciekawe, gdy ustawiłem szybkość na 100kHz:<br /><br />[syntax=c]/*Ustawienie TIMER0 ---- 100kHz, co 10uS */<br />        TCCR0 |= (1&lt;&lt;WGM01); //TRYB ctc<br />TCCR0 |= (1&lt;&lt;CS00);  //preskaler = 1<br />OCR0 =80;                //dodatkowy podział przez 80<br />TIMSK |= (1&lt;&lt;OCIE0); //zezwolenie na przerwanie[/syntax]<br />To wszystko pięknie śmiga. Problem w tym że jednak potrzebuję zliczać co 1uS bo cierpi na tym rozdzielczość.<br /><br />Próbowałem już podciągać nieużywane piny do Vcc coby nie robiły za anteny, ale nic to nie dało. Wsadzenie zewn. oscylatora 12MHz (i oczywiście tym samym zmiana OCR0 i ustawień) też nic nie dało.<br /><br />I tak siedzę nad tym dzisiaj, i już nie wiem co z tym fantem dalej czynić <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> .<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=600">kiclaw</a> — 2 gru 2012, o 22:51</p><hr />
]]></content>
</entry>
</feed>