Ich denk, das ist sowas wie "Pulsein"
https://www.roboternetz.de/wissen/in...e-Code#PULSEIN
lies mal nach, ob es das ist, was du brauchst.
Moin!
Gibt es einen Befehl mit dem ich positive oder negative Flanke vom Eingangssignal auswerten kann? Danke!
Nur weil ein Roboter Menschen umbringt wird er schon als radikal beschimpft!
Ich denk, das ist sowas wie "Pulsein"
https://www.roboternetz.de/wissen/in...e-Code#PULSEIN
lies mal nach, ob es das ist, was du brauchst.
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Danke für deine Antwort, PicNick. Aber das ist leider nicht der richtige befehl.
Hallo!
Vielleicht geht es so in der Art: (habs nicht probiert)
if eingang and not eingang_m then
flanke = 1
eingang_m = 1
end_if
if not eingang then
eingang_m = 0
end_if
(* Folgendes ans Programmende: *)
flanke = 0
Keine Ahnung, was du genau machen willst.
Wenn auf eine Flanke reagiert werden soll, macht man das häufig über einen Interrupt und da kannst du dann angeben ob der bei steigender (raising) oder fallender (falling) Flanke ausgelöst wird.
Interrupts stehen einem ja nicht unbegrenzt zur Verfügung. Beim Messen/Steuern/Regeln muss man ja oftmals auf Flanken an mehreren Eingangspins reagieren. Bei einer SPS gibts dafür praktischeTriggerbausteine.Zitat von recycle
Die Aufgabe ist, die Drehrichtung einer Welle mittels 2 Sensoren (taster) zu bestimmen. Ich kenne das von SPS, mit Flankenauswertung, da gibt es extra Befehle für. Nun möchte ich wissen ob es eine fertige Lösung dafür im Bascom gibt. Man kann es natürlich durch Umwege mit Boolischer Logik programmieren... Möchte ich aber nur ungern tun.
Nur weil ein Roboter Menschen umbringt wird er schon als radikal beschimpft!
Stimmt. Aber ob er noch Interrupts frei hat oder nicht, kann ich nicht riechen. Kommt wohl auch drauf an, welchen Controller er verwendet.Interrupts stehen einem ja nicht unbegrenzt zur Verfügung.
Beim ATmega168 ist z.B. soweit ich weiss jeder Eingang interrupt-fähig.
Vielleicht habe ich jetz ja ein Brett vorm Kopf, aber momentan fallen mir nur 2 Möglichkeiten ein:Beim Messen/Steuern/Regeln muss man ja oftmals auf Flanken an mehreren Eingangspins reagieren.
a) ich verende einen Interruppt um mitzubekommen, dass es eine Flanke gab
b) ich merke mir den Zusatnd des Eingangs und frage den Eingang dann regelmässig ab. Wenn er seinen Zustand geändert hat weiss ich, dass es eine Flanke gab. Wenn ich den aktuellen Zustand kenne, weiss ich allerdings zwangsläufig auch, ob der mit einer steigenden oder einer fallenden Flanke erreicht wurde.
Und beim Microcontroller gibt es dafür halt die praktischen InterruptsBei einer SPS gibts dafür praktischeTriggerbausteine.
Moin!
recycle hat Recht. Man kann bei den interrupst festlegen ob die durch eine bestimmte Flanke oder auch anderswie ausgelöst werden. Und zwar mit dem Befehl CONFIG INTx = FALLING/ RISING/ LOW LEWEL / CHANGE
warum nehm ihr nicht debounce ? wenn du nicht willst das er die 25 ms ablaufen müssen, damit er auslößt, kannst du das mit conifg debounce = 0 "ausschalten"
Lesezeichen