Forum: Mikrocontroller und Digitale Elektronik Start/ Stop mit einem Taster ?


von Janiiix3 (Gast)


Lesenswert?

Hallo Leute,


eine kurze Frage-->

Kann ich mit einem Taster meinem Attiny13 sagen das er bei 1 x Drücken 
das Programm ausführen soll -->

$regfile "attiny13.dat"

Config Pinb.4 = Input


Portb.3 = 1
Waitms 300
Portb.3 = 0
Waitms 10

Portb.3 = 1
Waitms 300
Portb.3 = 0
Waitms 10


Portb.3 = 1
Waitms 300
Portb.3 = 0
Waitms 10

Do

If Pinb.4 = 1 Then
Portb.3 = 1
Else
Portb.3 = 0
Wait 130
End If



Loop
End


und beim 2 ten mal drücken aufhören soll?


vielen dank
von Karl H. (kbuchegg)


Lesenswert?

Janiiix3 schrieb:


> Kann ich mit einem Taster meinem Attiny13 sagen das er bei 1 x Drücken
> das Programm ausführen soll -->

>
> und beim 2 ten mal drücken aufhören soll?
>

WAS soll aufhören?
Ein Programm kann nicht einfach aufhören. Dein µC arbeitet sein Programm 
nach dem Anlegen der Versorgungsspannung ab und er hört damit auf, wenn 
du ihm den Saft abdrehst. Aber dazwischen bearbeitet er ein Programm.
von Janiiix3 (Gast)


Lesenswert?

Karl Heinz Buchegger schrieb:
> WAS soll aufhören?
> Ein Programm kann nicht einfach aufhören. Dein µC arbeitet sein Programm
> nach dem Anlegen der Versorgungsspannung ab und er hört damit auf, wenn
> du ihm den Saft abdrehst. Aber dazwischen bearbeitet er ein Programm.

Ja das er dann quasie die Schleife unterbricht und nichts mehr tut !?
von Karl H. (kbuchegg)


Lesenswert?

Janiiix3 schrieb:
> Karl Heinz Buchegger schrieb:
>> WAS soll aufhören?
>> Ein Programm kann nicht einfach aufhören. Dein µC arbeitet sein Programm
>> nach dem Anlegen der Versorgungsspannung ab und er hört damit auf, wenn
>> du ihm den Saft abdrehst. Aber dazwischen bearbeitet er ein Programm.
>
> Ja das er dann quasie die Schleife unterbricht und nichts mehr tut !?

Er kann nicht 'nichts tun'. Er tut immer etwas!
Aber du kannst natürlich in deiner Schleife einfach keine sinnvolle 
Aktion ausführen lassen.
von Janiiix3 (Gast)


Lesenswert?

entweder will mich hier keiner Verstehen oder alle verarschen mich :D


also noch mal!

Ich habe mir einen UV Belichter gebaut, wenn ich den Taster drücke ( 
via. RC Glied) geht er an und läuft in meiner Schleife wie er es soll 
das Relais schaltet, wenn ich jedoch jetzt noch einmal drücke soll das 
Relais wieder abfallen aber das über den gleichen Taster....
von Jonathan S. (joni-st) Benutzerseite


Lesenswert?

Janiiix3 schrieb:
> entweder will mich hier keiner Verstehen oder alle verarschen mich :D

Ja wieso denn? Oben ist doch schon eine funktionierende Lösung. Auf 
jeden positiven Flankenwechsel musst Du den Zustand wechseln. So schwer 
ist das doch nicht zu programmieren... Du brauchst halt ein paar Flags. 
Ich sag nur: AVR-Tutorial
von Karl H. (kbuchegg)


Lesenswert?

Janiiix3 schrieb:
> entweder will mich hier keiner Verstehen oder alle verarschen mich :D

Doch, doch, wir verstehen dich schon.
Aber du uns nicht.

Ein µC tut immer etwas. Und wenn es nur Däumchen drehen ist. Aber er tut 
etwas! Er arbeitet Befehl für Befehl ab, was auch immer ihm die Befehle 
anschaffen. Dein Job ist es, die Befehle so zu wählen, dass das von dir 
gewünschte rauskommt.

Das nennt man dann programmieren und wird deshalb auch als Beruf 
gewertet. Denn wenn das jeder von Geburt an könnte, wäre es ja keine 
Kunst. Programmieren muss man lernen und das dauert länger als 10 
Minuten.


> Ich habe mir einen UV Belichter gebaut, wenn ich den Taster drücke (
> via. RC Glied) geht er an und läuft in meiner Schleife wie er es soll
> das Relais schaltet, wenn ich jedoch jetzt noch einmal drücke soll das
> Relais wieder abfallen aber das über den gleichen Taster....


Und was hindert dich jetzt daran, dass der Defaultzustand in deiner 
Schleife lautet: mach nichts. Also weder etwas einschalten, noch etwas 
ausschalten, sondern nur den Taster abfragen?

Hinweis:
Was dir weiterhelfen könnte, ist das Konzept eines Zustandsmaschine. 
Dein Programm ist in einem Zustand und durch irgendwelche Einflüsse, zb 
dem Drücken einer Taste ändert sich dieser Zustand. (Zustand = Variable 
die bestimmte Werte annehmen kann, wobei die Werte die Zustände 
verkörpern).
von Peter D. (peda)


Lesenswert?

Das wird nichts mit einfach so drauflos programmieren.
Man muß sich erstmal den Programmablauf klarmachen.
Schreib in Worten auf, wie das Programm funktionieren soll.

http://de.wikipedia.org/wiki/Programmablaufplan


Peter
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
Noch kein Account? Hier anmelden.