www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik C-Control 1 Hilfe benötigt. Wer kennt sich aus


Autor: Sebastian Schaumann (sebo-82)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe ein C-Control 1 mit Starterboard.

Ich möchte das relais von port 1 schalten, wenn ich port 16 mit einem 
schalter brücke.

------------
Mit meinen wenigen Programmierkenntnissen habe ich dazu folgenden text 
geschrieben.

define relais port [1]
define taster port [16]

relais = 0  'ist ja sonst auf dauer von ccontrol wenn man spannung 
anlegt

if taster = 1 then gosub an else gosub aus

#an
relais = 1

#aus
relais = 0
-----------

Wenn ich nun das Programm rüber schiebe und das c-control starte 
schaltet das programm das relais aus, wenn ich nun port 16 brücke 
schaltet das relais ein. Allerdings lässt es sich durch erneutes brücken 
nicht mehr ausschalten.

Was mache ich falsch ?

Für so ein einfaches Programm habe ich nirgendwo ein passendes Beispiel 
gefunden.

Ich bin für alle Tips dankbar .

Grüße
Sebastian

Autor: Klaus2m5 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Am Ende jedes Unterprogramms muss ein RETURN stehen.

Autor: Sebastian Schaumann (sebo-82)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay das mit dem return habe ich ausprobiert.

Das ergebniss: Wenn ich das C-control starte, geht er für eine sekunde 
an und dann aus also bleibt garnicht erst im start modus. Wenn ich den 
Knopf dann gedrückt halte rattert das Relais.

Autor: Lasse S. (cowz) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ohne Ahnung davon zu haben, wie die Programmiersprache aussieht:

Fehlt da nicht irgendwo ne Dauerschleife? (Um die Tasterabfrage herum)

Gruß
Lasse

Autor: Klaus 2m5 (klaus2m5)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So sollte Dein Programm eigentlich aussehen:
define relais port [1]
define taster port [16]

relais = 0

#loop
if taster = 0 then tog relais           'Taste gedrückt zieht Eingang auf Masse
pause 5                                 '100ms Tastenprellen abwarten
#wait_taste
if taster = 0 then goto wait_taste      'warten, bis Taste losgelassen
pause 5                                 '100ms Tastenprellen abwarten
goto loop

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.