Archiv verlassen und diese Seite im Standarddesign anzeigen : Eingangsimpulse zählen
Hallo,
weiß einer von euch wie ich das in Bascom Programmieren muss, dass er einen Eingangsimpuls zählt, und sich diese in einer Variablen merkt.
Nach z.B. Tausend solcher Impulse, soll er dann auf einem Disp immer von '0' beginnend um eins erhöhen.
Wär um jede Hilfe dankbar
weiß einer von euch wie ich das in Bascom Programmieren muss, dass er einen Eingangsimpuls zählt, und sich diese in einer Variablen merkt.
Guck dir einfach mal das Beispielprogramm Int0.bas an, das bei Bascom dabei ist. Das macht schon fast genau das was du haben willst.
Danke, aber wie Funzt des genau,
-dass er die Impulse am Eingang zählt.
- Wie mach ich das, dass sich die Zahl nach tausend Impulsen um eins erhöt??
Indem du die Impulse in einer Variablen in der ISR hoch zählst und bei 1000 einfach du Variable auf Null setzt und eine zweite Variable inkrementierst.
So schwierig?
Kann zwar kein BASCOM sondern nur C, das Prinzip sollte aber funktionieren.
Danke, aber wie Funzt des genau,
-dass er die Impulse am Eingang zählt.
Genau das wird doch in dem Beispiel int0.bas gemacht, nur halt bis 2 statt bis 1000. Die 2 durch eine 1000 zu ersetzen bekommst du doch sicher alleine hin.
Rem The Interrupt Handler For The Int0 Interrupt
Int0_int:
Incr Count
If Count = 2 Then
Print "Int 0 occured"
Count = 0
End If
Rem You Can Perform More Actions Here
Return
- Wie mach ich das, dass sich die Zahl nach tausend Impulsen um eins erhöt??
Indem du statt dem Befehl Print "Int 0 occured" einfach deine Zählervariable um 1 erhöhst.
Wenn deine Zählervariable z.B. zaehler heisst, heissst der entsprechende Befehl Incr zaehler
Die ganze Aktion funktioniert natürlich nur, wenn due als Eingang einen Pin mit Hardware Interrupt verwendest.
Wenn an diesem Pin dann das Signal wechselt wird immer automatisch die Routine Int0_int: aufgerufen.
Bau einfach erst mal deine Schaltung auf und lade das Beispiel int0.bas in den Controller. Wenn das dann funktioniert kannst du das Programm weiter anpassen.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.