Berry
A PIC-based MP3 player: www.apic-bmp.nl.tt | Intresse in techniek? www.djoamersfoort.nl
Ik maak nu een klok. Deze haalt zn frequentie van het lichtnet. Het instellen van de tijd gebeurt met een rotary encoded switch. Hiervan bekijk ik elke 10mS de status. Dit gebeurt allemaal via interrupts, welke een event aanmaken , die ik in het hoofdloopje kan uitlezen, en het werkt opzich wel. Alleen is het probleem dat als ik hem op 50Hz laat lopen, het instellen niet meer lijkt te gaan. Ik heb het idee dat de interrupts elkaar een beetje in de weg zitten. De 50Hz leek mij heel belangrijk, dus die check ik het eerste. Daarna check ik de rotary swich. Ook bij mn event functies en het hoofdloopje check ik eerst de 50Hz flag en daarna die van de rotary switch. Wie heeft er tips?
die switch zonder interruot uitlezen? dus continu (zonder delay) een lusje dat
1 - je switch uitleest
2- kijkt of er een interrupt geweest is
3- je output update
De enige interupt die je gebruikt is die de 50Hz checkt. Waar je wel zeker van moet zijn (maar dat zal wel geen probleem zijn) is dat dat lusje wel minstens binnen 20ms doorlopen is.
No_Brain
"What are we going to do tonight, Brain?". "Same thing we do every night, Pinky: try to take over the world!"
En dat in elke mogelijke situatie (dus ook als hij in die tijd je schakelaar moet uitlezen)! Dus begin eens met wat software rotzooi eruit te gooien en kijken of het dan wel werkt.
[Bericht gewijzigd door No_Brain op ]