... jo ... erstmal Dank für Eure Hinweise. Ich habe es jetzt "irgendwie" gelöst bekommen, schaut aber ganz schön gruselig aus ^^
Sinn der Sache:
Über einen Shunt von 0,47Ohm gegen Masse wird die Stromaufnahme eines Motors gemessen. Der Spannungsabfall wird via 3k3 an den Pin und mit 100n Pin gegen Masse gegen all zu schnelle Spitzen geblockt.
Als Konstante gebe ich den Maximalwert in mA vor.
Abgefragt wird via Timer0 etwa alle 100ms in der dazu gehörenden ISR. Wenn der Strom (resp. die Spannung an Pin5) den vorgegebenen Wert übersteigt, wird eine BitVar (Iover) gesetzt und der EN des Motorcontrollers abgeschaltet. So lange das Bit gesetzt ist, wird eine ByteVar bei jedem Aufruf der ISR um eins hochgezählt und bei 100 das Flag wieder gelöscht.

Eigentlich wäre es schöner, wenn man irgendwie dafür sorgen könnte, das bei Erreichen/Überschreiten eines Vorgabewertes der DAC selbst einen IRQ auslöst ohne das man aktiv in Intervallen den DAC abfragen muß. Aber dazu habe ich in Bascom keine Möglichkeit finden können.

Ok, wie gesagt tut es nun (VarTypen angepasst), aber natürlich hätte ich nichts dagegen, wenn von Euch noch ein paar andere Lösungen kommen, damit ich vielleicht eine andere Denkweise bei solchen Sachen erlernen kann...


DlzG
Micha