hy ich nochmals

hab schon wieder das gefühl einen funktionstüchtigen code produziert zu haben, hab mich nochmal im datenblatt schlau gemacht

hab mal die ein/ausgänge auf die pinc verlegt
und pind2 also int0 (was eh so is, aber bisschen neu)

hab alle teile vom code übersichtlichkeitshalber total getrennt, is glaub ich so einfacher & richtiger?!

hab das ganze auch getestet springt richtig
also vom programmablauf richtig
meine einzige sorge der irq0:
also bei jeden interrupt also impuls auf pind.2 erhöht irq0 um 1 bis irq0 800 erreicht hat und springt zum sprung halt!? würd das so passen?!

hier mal der aktuelle code
Code:
$regfile = "m8def.dat"
$baud = 9600
$crystal = 8000000

Config Pinc.1 = Input
Config Pinc.2 = Output
Config Pind.2 = Input

Dim Irq0 As Word



'' Interrupt Int0 config
On Int0 Irq0

Config Int0 = Rising
Enable Int0
Enable Interrupts


Do

''abfrage ob taste gedrückt
Abfrage:
If Pinc.1 = 1 Then
Goto Rauf
Else
Goto Halt
End If

Loop

'' bei interrupt auf pinb.2 dann erhöhen bis 800 erreicht ist
Irq0:
Incr Irq0
If Irq0 > 800 Then
Goto Halt
Else
Goto Rauf
End If

'' wenn 800 impulse ereicht dann motor stopp
Halt:
Reset Pinc.2
Return

'' wenn 800 interruptimpulse noch nicht erreicht sind motor läuft weiter
Rauf:
Set Pinc.2
Return

danke fürs durchschauen

eventuell werd ich das ganze für die funktion runter morgen erweitern.