-
-
Neuer Benutzer
Öfters hier
Hallo tohrr
Dein Programm verwirrt mich ein wenig, ich würde das auch über einen Timer machen.
Du benutzt ja den Timer0 aber der läuft immer von 0 bis 255 und dann fängt er wieder von vorne an, wenn du jetzt den Timer0 interrupt nimmst dann wird dieser immer beim Überlauf ausgelöst also bei 255 zu 0.
Schreib deine Motor move Befehle in den Timer Interrupt und wenn man dann den Timer nicht von 0 - 255 laufen lässt sondern von 150 - 255 dann springt er schneller in den Timer da der Überlauf ja schneller erreicht wird.
Beispiel
On Timer0 Timer0_isr
Enable Timer0
Timer0 = 150
'##################
Timer0_isr:
Timer0 = 150 ' kleiner Wert = Langsamer
If ...... Motor move...
Return
Nimm mal zum Testen den Timer1 der läuft bis 65535 oder Prescaler von Timer0 raufsetzen und eine Led die dann im Interrupt blinken soll, damit kannst du das sehr gut testen.
Mfg Thomas
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen