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
Lesezeichen