Jo, jag är helt med på innebörden och vad man kan tjäna i att packa datan, men det jag ser inte hur det blir smidigare/snabbare i detta fall. Måste vara något jag missar?blueint skrev:StRob, RLL .. eller kanske ev byte-run är en slags komprimering i farten så att säga. Då slipper man lagra en lång sträng av säg "0"-or. Istället skickar man "sänd 250 st 0-or", osv. Visa tekniker tillåter "sänd 225 st 00110-sekvenser".
Fördelen är att man det kräver mindre av länken mellan MCU och styrdator. Samt att det beroende på timing går att använda mindre minne.
Eftersom frekvens ej är specad. Så kan vi utgå från mitt tidigare exempel med 12,5 instruktioner per IR-cykel. Och då bör man inse att det krävs assembler för att det ska ha en chans att fungera.
På tal om demodulering: Problemet är ju inte att demodulera, det överlägset enklaste alternativet jag ser är att använda en färdig IRmodul då denna har filter och AGC (auto gain control) inbyggd. skulle man använda enklare IRdetektor krävs det separat annars blir den väldigt störkänslig för solljus och övrig belysning. (Jag har sett andra projekt och avståndet på vilket fjärren fungerar blir lidande). Problemet är att dessa HAR just demodulator inbyggd. Och vi vill ju inte demodulera (ta bort bärvågen). Där kommer processorn in i bilden och MODULERAR om signalen. (Och hur byte-run hjälper här ser jag inte riktigt?) UART-varianten har jag funderat på, men det blir mest bökigt tycker jag. Då måste man räkna ut hur många tecken, t.ex ASCII "U", som ska skickas och det blir ju endast hela multiplar av det. Krångligt att klippa mitt i antar jag.
EDIT: Är det så här ni menar att byte-run-metoden skulle fungera?: Man skulle alltså spara datan från IR-modulen först och SEN återskapa den istället för att låta signalen från IRmodulen t.ex. tillåta PWM-avbrott eller togglingen direkt? Det ser jag inte som en smidig lösning, men det kanske är något jag inte ser?
En fördel vore iofs att man kan återskapa den hur många ggr man vill. (en knapptryckning på fjärrkontrollen består av flera repetitioner av en datasträng (pulståg) så det kan finnas fall där detta kan vara bra faktiskt. Om den ligger i sleep vid batteridrift och den vaknar och bara får med en av repetitionerna) Men då krävs mer kod för att detektera start och slutet i varje datasträng.