Hey, als ik een microcontroller de opdracht DelayMS geef, kan ik dan met een bepaald commando uitlezen waar de microcontroller zit in de DelayMS? Hoeveel MS te gaan of hoeveel MS hij heeft gehad?
Groet, Bob
volgens mij niet, dat zou namelijk betekenen dat je 2 insturcties tegelijk zou moeten uitvoeren (delay uitvoeren, en delay uilezen hoe ver)
wat wel kan is bijvoorbeeld met een timer een delay maken en die kan je wel uitlezen
Ik wil een timer maken voor m'n uv-belichter 
Er is zat te vinden, maar ik wil iets zelfmaken.
Op een LCDisplay wil ik dan de tijd weergeven die hij aan het belichten is.
dan is het wel zo makkelijk om bijv een timer (TMR1 oid) te nemen deze in te stellen en gewoon uitlezen en op je lcd zetten
Frits Kieftenbelt
Ohm sweet Ohm | www.picbasic.nl
Stel je wilt 60 seconden belichten.
Dan doe je dat niet zo: DELAYMS 60000
Maar je doet bijvoorbeeld:
CLEAR Time
REPEAT
PRINT "Tijd: ", @Time
DELAYMS 1000
INC Time
UNTIL Time >= 60
Is maar een voorbeeld, er zijn vele manieren.
Ah, kijk! Je maakt dus gewoon loopje van 1 seconde totdat hij 60 keer het loopje heeft gedaan
Ik ga is wat prutsen, tot zo ver bedankt!
marcob
Honourable Member
People tend to overestimate what can be done in one year and to underestimate what can be done in five or ten years
Om een betere timing te krijgen, kun je ook de interne timer interrupt gebruiken. Als je bij de voorbeeld bestanden van Proton Pic Basic kijkt, staat er een voorbeeld van een timer en interrupt.
[offtopic]
Trouwens het is best interesant en leerzaam om de voorbeeld programma's es door te kijken.
[/offtopic]
Ah, kijk! Je maakt dus gewoon loopje van 1 seconde totdat hij 60 keer het loopje heeft gedaan
Ik ga is wat prutsen, tot zo ver bedankt!
Je kan ook fijnder timen door een delay van 1 ms te nemen en dan het loopje 1000x meer laten uitvoeren. maar of dit echt voor deze toepassing nauwkeuriger moet weet ik niet.
ik los het soms op die manier op.
CLEAR Time
REPEAT
PRINT "Tijd: ", @Time
DELAYMS 1
INC Time
UNTIL Time >= 60000
het voordeel ervan is dat je µc meer andere zaken kan verrichten tijdens het wachten ipv met een delayms 1000
[Bericht gewijzigd door shortcircuit op ]
Tot nu toe ben ik niet van plan meer met de microcontroller te doen dan de tijd bijhouden van het belichten! En ik denk dat 1000 keer per seconde wat overdreven is
Maar goed, thnx voor je reactie!
Marcel
AVR C tutorial http://expand.xs4all.nl/avr
Op 29 mei 2007 14:59:04 schreef shortcircuit:
[...]Je kan ook fijnder timen door een delay van 1 ms te nemen en dan het loopje 1000x meer laten uitvoeren. maar of dit echt voor deze toepassing nauwkeuriger moet weet ik niet.
Daar wordt het juist minder nauwkeurig van. De loop kost zelf namelijk ook tijd. Hoe vaker de loop des te meer overhead daarvan. Je kan dat compenseren in de delay. Maar omdat het Basic is weet je niet precies hoe groot de overhead is, tenzij je de gecompileerde code gaat ontleden of simuleren.
Een timer interrupt is veel nauwkeuriger.