Danke sehr für deinen Tipp, aber bei mir arbeitet es ohne Interrupts (ISR) mit GIE = 0, weil das in meinem Fall unnötig war.![]()
Die Hardware ist dort skizziert: https://www.roboternetz.de/community...parsam-steuern ?Code:;2-phasiger bipolarer Getriebesteppercontroller mit 4,7 µF Elkos seriell mit Spulen LIST P=16F676 include "P16F676.inc" ; 12 kHZ ext. RC Oszillator __CONFIG _WDT_OFF & _PWRTE_ON & _MCLRE_OFF & _EXTRC_OSC_CLKOUT & _BODEN_OFF #define MAN PORTC,0 ; Motor an, mit PORTA,2 (INT) verbunden #define MLR PORTC,1 ; Drehrichtung #define S1P PORTC,2 ; 1. Spule #define S2P PORTC,3 ; 2. Spule ORG 0 call Init Main btfss MAN ; drehen bzw. schlafen goto Schlaf Main1 btfss MLR ; gewünschte Drehrichtung prüfen goto LRot goto RRot LRot bcf S1P ; links drehen call Del bsf S2P call Del bsf S1P call Del bcf S2P btfss MAN goto Schlaf goto Main1 RRot bsf S1P ; rechts drehen call Del bsf S2P call Del bcf S1P call Del bcf S2P btfss MAN goto Schlaf goto Main1 Del nop goto $+1 return Schlaf bcf INTCON,INTF bsf INTCON,INTE sleep goto Main1 Init movlw 7 movwf CMCON ; comparator off, RA0-2 digital I/O bsf STATUS,RP0 bcf ADCON0,ADON ; ADC clrf ANSEL ; off bsf OPTION_REG,INTE ; INT on movlw 2F movwf TRISA movlw 21 movwf TRISC bcf STATUS,RP0 clrf PORTC return end








Zitieren

Lesezeichen