habe den Code zum testen des Interrupt wie folgt umgeschrieben (erstmal ohne Drehzahlermittlung):
Code:$regfile = "m32def.dat" 'z.B. RN-Control $framesize = 32 $swstack = 32 $hwstack = 32 $crystal = 8000000 'Quarzfrequenz $baud = 9600 Declare Sub Rnb_servo(byval Servonummer As Byte , Byval Position As Byte) Config Int0 = Rising 'Interrupt bei steigender Flanke On Int0 Irq0 'Festlegen wo bei externem Interrupt hin gesprungen wird Enable Int0 'Diesen Interrupt aktivieren Enable Interrupts 'Alle aktivierten Interrupts einschalten Do 'Endlosschleife Call Rnb_servo(1 , 1) Waitms 500 'goto IRQ0 '$PROG &HFF,&HEF,&HD9,&H00' generated. Take care that the chip supports all fuse bytes.$PROG &HFF,&HEF,&HD9,&H00' generated. Take care that the chip supports all fuse bytes. Goto Irq0 Loop Sub Rnb_servo(byval Servonummer As Byte , Byval Position As Byte) Print "#s" ; Chr(servonummer) ; Chr(position) End Sub End 'Interrupt Routine wird immer ausgelöst wenn der Pegel von 0 auf 1 am 'INT0 (Pin 18 PD2) Eingang wechselt Irq0: Call Rnb_servo(1 , 255) Waitms 1000 Return







Zitieren

Lesezeichen