Port für gewisse zeit schalten

OP #2219493
Lesenswert?

Hallo Gemeinde,

versuche gerade in Bascom einen Port für eine gewisse Zeit zu schalten.

Bekomme es aber nicht wirklich hin.

Aufgabe:

PortB.1 soll für 10 sekunden auf 1 gesezt sein.
Nach den 10 sec. soll PortB.1 = 0 sein

Könnte so gemacht werden

PortB.1 = 1
Wait 10
PortB.1 = 0

Das Problem dabei ist, das dann das ganze Programm auch 10 Sec steht, 
das soll aber nicht so sein.

Möchte nur das der PortB.1 für 10 sec High ist und das Programm paralell 
weiterläuft.

Dachte an etwas wie

PortB.1 = 1 (für 10 sec) then PortB.1 = 0

nur wie kann ich das machen?

Vielen Dank schon mal.

lG Kai
Gast #2219503
Lesenswert?

Mit Hilfe eines der Timer funktioniert das.

z.B.:
PORT Pin Setzen und Timer 0 starten.
In der ISR des Timer 0 (Overflow) musst du einen Counter inkrementieren. 
Den Stand des Counters fragst du gleich in der Interruptserviceroutine 
mit ab und dann weist du genau wann 10s Sekunden vorbei sind. Und dann 
setzt du dein PORT Pin wieder zurück.

Welchen Wert der Counter erreichen muss, mußt du vorher ausrechnen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren