Gast
#4385498
Hallo, ich habe einen Haupt PIC (PIC16F887) der einen Schrittmotor ansteuert. Zur Überprüfung ob ein befohlener Schritt auch gemacht wurde habe ich einen zweiten PIC (PIC16F887) der sich um die Signale des Schrittmotor Encoders kümmert und nach jedem gemessenen Schritt eine Leitung zum Haupt PIC auf High oder Low setzt (LOW = Drehrichtung Links, HIGH = Drehrichtung Rechts) und auf einer zweiten Leitung einen kurzen Puls gibt. Beim Puls auf der zweiten Leitung wird ein Interrupt ausgelöst der einen 2 Byte Wert erhöht oder Verkleinert abhängig davon was die erste Leitung signalisiert. So weis der Haupt PIC, nachdem er sich einmal kalibriert hat immer genau auf welcher Position sich der Schrittmotor bzw. der dadurch bewegte Schlitten befindet. Jetzt meine eigentliche Frage, gibt es eine bessere Methode ohne das der Haupt PIC sich mit Interrupts oder sonstwie im Hauptprogramm mit dem Encoder auseinander setzten muss, sodass dem Haupt Pic einfach nur noch die 2 Bytes als Daten zur Verfügung stehen? Also z.B. habe ich mal gesehen, dass ein paar PIC18ner DMA unterstützen. Ich habe aber mich nicht weiter in DMA eingearbeitet weswegen ich nicht weiß, ob das überhaupt infrage kommt klang jedoch zunächst ganz vielversprechend. Oder gibt es externe ICs die als Speicher Erweiterung dienen und auf die 2 PICs gleichzeitig zugreifen können?