Tänkte på en sak. jag har nu implementerat själva klockställningen, genom att helt simpelt använda 2 externa avbrott för att öka timmar resp. minuter med. Men om man trycker på knappen precis innan klockan skall öka, så kommer den ju inte att göra det förrän man ställt om tiden fördigt. alltså kommer klockan att dra sig lite lite i detta ögonblick. detta kan bli stora problem på sikt.
det jag vill få fram är alltså hur i hela friden jag ska få det interna avbrottet att prioriteras över de externa?
kan jag kanske köra avmaskera avbrott det första jag gör i min externa avbrottsrutin? borde ju egentligen inte funka eftersom den ändå måste in i avbrottsrutinen.
Jag vill att om nu den interna avbrottsrutinen körs, ska inte externa avbrott tillåtas. några förslag?
EDIT: Kom iofs på att om man ändå ställer om klockan kanske man kan leva med att klockan drar sig så lite. nästkommande avbrott kommer ju ändå att komma med rätt hastighet.
Binär klocka, några funderingar...
??? hur lång tid har du tänkt dig att den rutin ska ta???
Att du håller inne knappen ger INTE fler interrupt om den, som vanligt är, fångar nivå-bytet. Och skulle den ge interrupt så länge du håller inne knappen går det så snabbt att du inte kan ställa klockan på något vis.
Sen tycker jag att du är inne på helt fel väg när du vill ställa tiden med interrupts.... men jag antar att det är i brist på bättre vetande.
Knappar tycker jag att man pollar från en interrupt som är timer-styrd, jag använder 10Hz och det fungerar bra.
Att du håller inne knappen ger INTE fler interrupt om den, som vanligt är, fångar nivå-bytet. Och skulle den ge interrupt så länge du håller inne knappen går det så snabbt att du inte kan ställa klockan på något vis.
Sen tycker jag att du är inne på helt fel väg när du vill ställa tiden med interrupts.... men jag antar att det är i brist på bättre vetande.
Knappar tycker jag att man pollar från en interrupt som är timer-styrd, jag använder 10Hz och det fungerar bra.
> Sen tycker jag att du är inne på helt fel väg när du vill ställa tiden med interrupts....
> men jag antar att det är i brist på bättre vetande.
Ja det beror förmodligen på brist på bättre vetande....
> Knappar tycker jag att man pollar från en interrupt som är timer-styrd, jag
> använder 10Hz och det fungerar bra.
ja det är ju ett sätt men varför? vad är nackdelen med min lösning när jag ändå bara ska ha 2 knappar och har två externa interrupts lediga?
> men jag antar att det är i brist på bättre vetande.
Ja det beror förmodligen på brist på bättre vetande....
> Knappar tycker jag att man pollar från en interrupt som är timer-styrd, jag
> använder 10Hz och det fungerar bra.
ja det är ju ett sätt men varför? vad är nackdelen med min lösning när jag ändå bara ska ha 2 knappar och har två externa interrupts lediga?
Ditt sätt:
* Tryck på en knapp, det ger en interrupt och det räknas upp/ner 1 steg på passande sätt.
* Klart. Upprepa om det behövs. Glöm autorepeat, det fungerar enbart att "hoppa" med fingern.
Mitt sätt:
* Starta en (ca:) 10Hz interrupt.
* För varje interrupt kollas knapparna.
Med rätt mjukvara kan du nu göra autorepeat osv ganska enkelt.
* Tryck på en knapp, det ger en interrupt och det räknas upp/ner 1 steg på passande sätt.
* Klart. Upprepa om det behövs. Glöm autorepeat, det fungerar enbart att "hoppa" med fingern.
Mitt sätt:
* Starta en (ca:) 10Hz interrupt.
* För varje interrupt kollas knapparna.
Med rätt mjukvara kan du nu göra autorepeat osv ganska enkelt.
jaha du menar typ så jag kan hålla inne knappen så att den stegar upp automatiskt? det vore ju iofs inte dumt...tack för tipset.
förresten så funkar inte samplings-sidan av DS32KHZ:en, vet du om man kan hitta den nån annanstans, eller om det är ok med en vanlig 32kHz kristall då den verkar vara specad för 32,768kHz vid 25 grader C. men isf måste man väl även skaffa laddningskapacitanser till den? mina kondensator-kunskaper är väldigt begränsade...
förresten så funkar inte samplings-sidan av DS32KHZ:en, vet du om man kan hitta den nån annanstans, eller om det är ok med en vanlig 32kHz kristall då den verkar vara specad för 32,768kHz vid 25 grader C. men isf måste man väl även skaffa laddningskapacitanser till den? mina kondensator-kunskaper är väldigt begränsade...
Jaha...har de slutat låta folk sampla den
Nåväl, som det anges andra ställen är det en aning dumt att ha 2 kristaller när du kan nöja dig med ett. Använd systemklockan! Se till att skaffa ett bra kristall på typ 4MHz eller så, ställ timern till att ge interrupt efter lämpligt antal klockpulser (helt delbart i 1 sek, jag använder 10Hz) och uppdatera klockan med det.
Då kristallen har samma exakthet är det bättre att använda 1 i stället för 2, om inte annat är det lika exakt, billigare, tar mindre plats och är ett par grejor mindre att gå sönder.

Då kristallen har samma exakthet är det bättre att använda 1 i stället för 2, om inte annat är det lika exakt, billigare, tar mindre plats och är ett par grejor mindre att gå sönder.