Forum: Mikrocontroller und Digitale Elektronik Funktion Delay10KTCYx()


von rapeur (Gast)


Lesenswert?

Hallo Zusammen,
ich programmiere ein PIC18F4550 mit MPLAB und benutze den Microchip 
MPLAB-C18 Compiler. Bei einer Funktion habe ich Delay10KTCYx() 
benutzt(es bedeuted die Funktion soll ein betimmste Zeit warte und dann 
die Lösung rauskommt ). Wenn ich das Programm laufen lasse, kann ich 
diese Zeit nicht merken.
die Funktion
char Gab(char v, int c){
char t=0;
if(v==1){
Delay10KTCYx(c);
t=1;
}
return t;
}
ich bedanke mich schon für ihr hilfe

von Daniel P. (ppowers)


Lesenswert?

Abhängig von der Taktfrequenz, mit welcher der PIC betrieben wird, führt 
dieser bis zu 12 Millionen Befehle pro Sekunde aus.
Daher wird man auch nicht viel merken, wenn man den Prozessor 10.000 
Befehle warten lässt ;-)

Mit welcher Quarzfrequenz wird der PIC betrieben? Und wie lang soll die 
Wartezeit überhaupt sein???

gruß
daniel

von rapeur (Gast)


Lesenswert?

Hallo Daniel,
die Warte Zeit  soll 3sec sein und ich bin noch bei compilierung. ich 
hba noch nit mit dem platine verbunden.
Gruß.

von Daniel P. (ppowers)


Lesenswert?

Ooookay, der Prozessortakt scheint geheim zu sein... nagut.
Dann musst Du die Wartezeit halt selber ausrechnen.

würde es mal so versuchen:

n = 3s / (4/fOsc) / 10.000

(fOsc = Prozessortakt)

Beispiel:
bei fOsc = 48 MHz -> n = 3600, d.h. eine Wartezeit von 3 Sekunden würde 
man so realisieren:
Delay10KTCYx(3600);

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.