Hallo, mit Verwendung des Befehls Pulsein unter Bascom bleibt das Programm eine gewisse Zeit stehen, bis es entweder einen Puls detektiert hat oder ein Timeout entsteht. Nun möchte ich gerne diesen Befehl in der Library anpassen, so dass der Timeout sehr viel früher entsteht. Z.B. schon nach max. 200ms. Die momentane Zeit ist einfach zu lang für meinen Programmablauf. Ich habe mir die mcs.lib angeschaut, jedoch sind meine Assembler Kenntnisse nicht sehr weitreichend. Könnte mir jemand sagen, was ich anpassen muss, um die Zeit variieren zu können? Vielen Dank!
Moin, Bau dir deine eigene Flankenerkennung. Vorgefertigte Bibliotheken zu ändern ist immer eine schlechte Idee. Du verlierst deine Änderungen spätestens mit dem nächsten Update oder fängst dir Probleme mit Bibliotheksfunktionen ein, die vom Original abhängig sind. MfG
darüber habe ich auch schon nachgedacht. Das Problem ist, dass ich alle Timer (Atmega32) schon verwendet habe... Hättest du eine Idee / Denkanstoss, wie ich es ähnlich wie Pulsein realieren könnte, ohne einen Timer zu verwenden?
Wie Sauger schreibt. Z.b. so.
1 | Bitwait PinX.X , Set |
2 | Start Timer0 |
3 | Bitwait PinX.X , Reset |
4 | Stop Timer0 |
5 | Signaltime = Tcnt0 |
6 | ... |
7 | Tcnt0=0 |
Thomas B.D. schrieb: > Hättest du eine Idee / Denkanstoss, wie ich es ähnlich wie Pulsein > realieren könnte, ohne einen Timer zu verwenden? oh, zu spät gelesen.
Du könntest aber zwischen den beiden Bitwait-Befehlen irgendeinen Zähler einbauen und dann den Zähler auswerten. X = X + 1 if X = irgendetwas ....
Bitwait ist meines Wissens nach doch noch "schlimmer". Denn hier gibt es gar keinen Timeout oder? Und gerade der zu hohe Timeout ist ja mein Problem...
Oh ja, mein Fehler. Hatte Deinen Beitrag nur kurz überflogen. So bleibt das Programm im Zweifelsfall stehen. Zeiten ändert man in BASCOM Libs oft mit "GENUS". Schau Dir mal diesen Beitrag an, da wird mit PULSIN und GENUS "gespielt": http://www.mcselec.com/index.php?option=com_content&task=view&id=106&Itemid=57
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.