Ok. Zadam pytania w punktach.Jeżeli ktoś mógłby potwierdzić dosłownie: TAK/NIE lub dać małą dygresję jak błędnie rozważam. Jutro spróbuję to jeszcze raz rozrysować ze świeżym umysłem bo dziś to już nie dam rady.
1. "Modulo 2" powoduje że "trafiamy" w środek bitu w kodzie manchester. Musimy sprawdzić czy w kodzie manchester mamy do czynienia z 0 lub 1. Dla logicznego 0 mamy zmianę ze stanu niskiego na wysoki(zbocze narastające) a dla logicznego 1 zmianę z wysokiego na niski(zbocze opadające)
2. Można zdekodować ramkę za pomocą rejestru TCCR1B i bitu ICES1(gdy 1 to zbocze narastające, gdy 0 to opadające). Warunek
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
powoduje, że:
- warunek jest spełniony gdy ICES1 = 1. Oznacza to wyzwalanie zboczem narastającym a to z kolei oznacza LOGICZNE 0 W KODZIE MANCHESTER(trafiamy w środek bitu jest zbocze narastające). Gdy mamy spełniony warunek do zmiennej IrData wpisujemy wartość 0x0001.
- warunek nie jest spełniony gdy ICES1 = 0. Oznacza to wyzwalanie zboczem opadającym a to z kolei oznacza LOGICZNE1 W KODZIE MANCHESTER(trafiamy w środek bitu jest zbocze opadające). Wtedy niczego nie wpisujemy do zmiennej IrData. Robimy tylko przesunięcie bitowe tej zmiennej o 1.
Przepraszam, że tak dogłębnie to wałkuję, ale muszę to zrozumieć bardzo dobrze. Chciałbym zrobić poradnik odnośnie struktur i wskaźników(gra Snake) a jest tam wykorzystywany pilot na podczerwień i zwrotne wywołania funkcji. Muszę to pojąć w 100%.
Jutro to rozrysuję jeszcze raz i być może zamieszczę to tutaj w paincie. Może innym to też się przyda.