Ik wil een pic18F84A een soort seriële code laten uitsturen. Hiervoor moet ik de data op een uitgang zetten en deze een bepaalde tijd aanhouden. Deze tijd moet natuurlijk zo precies mogelijk zijn.

Hoe kan ik de tijd meten/berekenen voor deze PIC? Ik programmeer hem in C.

gek idee he? maar ik zou een timer gebruiken

je kunt uitrekenen hoe snel hij loopt aan de hand van de clock frrequency en de prescaler settings, dan nog even een tellertje eribj om hem exact te delen en klaar is k@non

[Bericht gewijzigd door High met Henk op ]

in JAL wordt dit eenvoudig opgelost door tussen de verschillende bits een delay te zetten, misschien in deze richting gaan zoeken

Op 9 november 2004 23:59:22 schreef Sp3ci3S:
in JAL wordt dit eenvoudig opgelost door tussen de verschillende bits een delay te zetten, misschien in deze richting gaan zoeken

een delay zet de hele processor stil, als je nu een interrupt routine kan maken op basis van een timerobject :) Scheelt je heel veel gemeuk

a. Maak een timer interupt van bijvoorbeeld 1ms. In die timer check je of "teller1" 0 is. Als hij niet nul is, trek je er 1 vanaf. Doe dat ook voor teller2,3 ....

Dan doen je : teller1 wordt 100 ( milliseconde ), uitgang wordt hoog.
Dan in een lus : if teller1 = 0 then uitgang laag.
Je kunt hiermee een aantal timers maken, die elk andere tijden kunnen hebben.