Gast
#2428752
Hallo, ich versuche gerade einen Schrittmotoransteuerung mit Interrupts zu realisieren. Soweit klappt das alles auch ganz gut – eine Pin wird auf GND oder 5V gezogen um die Richtung zu steuern, der andere Pin wird in einer Frequenz (Geschwindigkeit) getoggled.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
Jetzt möchte ich aber "Schritte zählen", um einigermassen bestimmen zu können, wo der Motor gerade ist… in meinem alten, linearen Programm zur Steuerung habe ich einfach eine Variable "steps" bei jeder HIGH-LOW phase des Step-Pins mitzählen lassen – je nach Richtung +1 oder -1. Das ganze würde ich gerne auch in einer ISR() Routine machen. Ich schaffe es aber nicht eine einzurichten… Welchen Vektor brauche ich? Welche Bits muss ich bei der _init() setzen, damit ein Interrupt ausgelöst wird (parallel zum Schalten des Pins) Hoffe ihr könnt mir helfen! Danke