...varför du dels gör exakt som alla har sagt att
du *INTE* ska göra
Men gör jag verkligen det...? Jag använder Timer0 för att skapa pulsvågen på 38kHz och sen Timer1 för att bestämma hur länge pulsvågen skall vara på resp. av. Blir det ändå helt fel alltså?
När jag mäter med flukemetern får jag de pulser jag vill ha så det borde funka. Men däremot misstänker jag att det är duty-cyclen på pulsvågen som spökar. Jag får en pulsvåg på drygt 38kHz, men dutycyclen ligger på cirka 54%. Hur känslig är den?
> Jag använder Timer0 för att skapa pulsvågen på 38kHz
OK.
> sen Timer1 för att bestämma hur länge pulsvågen skall vara på resp. av.
Hm, tja, som det *ser ut* så ligger du i en loop och väntar på att
timer1 ska uppnå rätt värde. Det är det som är problemet. Du kan inte
göra nåpgonting annat under tiden ! Även om du inte *tror* just nu
att du behöver det, så kommer du att behöva det senare.
Det man ska göra är alltså att sätta timer1 till rätt intervall, sedan låta
timer1 räkna på och avbryta (interrupt) när tiden har gått ut.
Det är som att koka ett ägg. Det *du* gör är att vrida upp äggtimern på
5 minuter, och sedan stå och glo stint på timern för att se de fem minuterna
gå långsamt, helt oförmögen att göra någonting annat under tiden.
Man kan ju faktiskt läsa tidningen istället, klockan ringer ju i alla fall
när tiden har gått ut.
> men dutycyclen ligger på cirka 54%. Hur känslig är den?
Kan inte tänka mig att +/- 10% kan spela någon avgörande roll.
Nu funkar det äntligen! Jag löste det så att jag fixar 38kHz-vågen med timer0, sen använder interupt för att skicka pulserna. Har fortfarande cirka 54% dutycycle, så sodjan, du hade rätt (som vanligt ) med att det inte spelade nån roll.
Jag löste hela problemet med att spela in knapptryckningen från fjärrkontrollen med en IR-mottagare och sen spara knappkoden i en vektor som innehåller kodens pulstider. Sen är det bara att skicka iväg koden med ir-sändaren och saken är biff!
Tack för alla svar! Ger mycket hjälp för oss nybörjare!!
Duty cycle på 54% borde ju inte vara något problem men om du vill förlänga batteriets livslängd så kan du ju gå ner till 25-30%. Antar att vi pratar om någon form av handhållen historia här.