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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-11-13T18:09:33+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=9219&amp;mode</id>
<entry>
<author><name><![CDATA[gardziej]]></name></author>
<updated>2014-11-13T18:09:33+01:00</updated>
<published>2014-11-13T09:56:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=9219&amp;p=103707#p103707</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=9219&amp;p=103707#p103707"/>
<title type="html"><![CDATA[odbiornik kodów w podczerwieni]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=9219&amp;p=103707#p103707"><![CDATA[
Witam!<br /><br />Z góry uprzedzam, że dopiero się uczę tematu. Przerabiam bluebooka (świetna książka). Napisałem sobie skrypt na podstawie rozdziału o odbiorniku RC5. Używam do tego nieznanego odbiornika wymontowanego z jakiegoś starego sprzętu i pilota samsunga. Udaje mi się sczytać kod i zapisać sobie do zmiennej, ale nie mogę zrozumieć jednej rzeczy.<br /><br />[syntax=c]// procedura obsługi przerwania ICP1<br />ISR(TIMER1_CAPT_vect)<br />{<br />static uint16_t LastCapture;<br />uint16_t PulseWidth;<br />PulseWidth = ICR1 - LastCapture;<br />LastCapture = ICR1;<br />for (int i = 0; i &lt; SAMSUNG_ROZMIAR; i++) {<br />if (odczyt&#91;i&#93; == 0) {<br />odczyt&#91;i&#93; = PulseWidth;<br />break;<br />}<br />}<br />TCCR1B ^= (1 &lt;&lt; ICES1); // zmiana zbocza wyzwalającego na przeciwne<br />}[/syntax]<br /><br />W książce jest podane, że dla RC5 impuls trwa 889us, jeśli w tym czasie dioda miga, to miga ona z częstotliwością 36kHz, więc dlaczego mikrokontroler nie wyłapuje tego migania jako serii ze zboczami opadającymi, tylko widzi cały impuls?<br /><br />I drugie pytanie, używam atmegi8 (8mHZ wewnętrzny, preskaler = 8), dane które wyłapuję wyglądają przykładowo tak (zaokrąglone do 50):<br />4550, -4350, 600, -1650, 600, -1600, 600, -1650, 550, -550, 600...<br />Co oznaczają te wartości dokładnie? Jeśli mam taktowanie 8000000 / 1000000 / 8 wg wzoru z książki to 4550us, 4350us itd?<br /><br />Z góry dziękuję za pomoc i pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6104">gardziej</a> — 13 lis 2014, o 09:56</p><hr />
]]></content>
</entry>
</feed>