Hallo zusammen, ich habe ein Problem mit delays von Pic18F4550 mit
compiler C und Frequenz 20MHz ich will solche schaltung realisiert
|
|
| EIN
| |----|--------------------|----|AUS
| | | | |
| | | | |
| | | | |
|-------|----|--------------------|----|-------
delays 100ms delays 100ms
ich habe viele Programme Probiert aber nicht geschafft, denn das delay
Time war immer unterschiedlich.
ich brauche Hilfe
Gruß
Hallo
ich weiss nicht , wie dein Programm aussieht, aber versuchs mal so:
//delay, CLK/4,:8:256 = 1,66*1ms bei 4,9152 MHz, ohne Interrupt
//delay, CLK/4,:8:256 = 2,22*1ms bei 3,6864 MHz, ohne Interrupt
//
void delay( unsigned char ms )
{
TMR3L = 0;
TMR3H = 0-ms;//(0xff ^ ms); //delay = ms*1,66 oder 2,22 ms
PIR2bits.TMR3IF = 0;
T3CONbits.TMR3ON = 1; //Timer start
while( PIR2bits.TMR3IF == 0 );
T3CONbits.TMR3ON = 0; //Timer wieder aus.
}
Das ist ein funktionierender Code, allerding nicht mit 20MHz sonder mit
4,9152MHz. Sollte aber anpassbar sein.
Und das steht bei mir für die Initialisierung:
...
TMR3L = 0; //delay-Funktion
TMR3H = 0;
T3CON = 0x30; //Vorbereiten aber nicht starten, Vorteiler 8
T3CONbits.TMR3ON = 0;
...
Gerhard
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.