Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

ne kurze Frage zu nem Sketch

geschrieben von seefew 
ne kurze Frage zu nem Sketch
13. July 2016 06:20
Hi Leutz,
kann mir eben jmd sagen, was ich in angehängtem Sketch ändern muss,
dass das Auflisten nur einmal ausgeführt wird und nicht mehr als Schleife?
"void loop ()" sollte die Zeile sein, aber womit ersetzen?
Danke vorweg
Grüße


Sehen ist nicht nur Augensache
Drucker:
seefew's Jenny
Anhänge:
Öffnen | Download - sdrampstest.ino (2.3 KB)
VDX
Re: ne kurze Frage zu nem Sketch
13. July 2016 06:32
... bei mir ist die loop-Schleife meist leer oder fast leer - ich 'lagere' den eigentlichen Code in einzelne Methoden aus, die ich dann je nach Ereignis (z.B. Interrupt) oder Bedingung (z.B. Tastendruck) dann gezielt aufrufe ...


Viktor
--------
Aufruf zum Projekt "Müll-freie Meere" - [reprap.org] -- Deutsche Facebook-Gruppe - [www.facebook.com]

Call for the project "garbage-free seas" - [reprap.org]
Re: ne kurze Frage zu nem Sketch
13. July 2016 06:43
äöhm.... und wie?
Ich will ja nur die Schleife rausnehmen.


Sehen ist nicht nur Augensache
Drucker:
seefew's Jenny
Re: ne kurze Frage zu nem Sketch
13. July 2016 06:50
Du hast in Arduino-Sketches setup() und loop() und der Code der garantiert nur einmal zur Initialisierung ausgeführt werden soll kommt in setup().
Loop wird wie der Name vermuten lässt anschließend immer wiederholt ausgeführt.

Ich nehme an, du hast nichts was Interrupts oder Events generiert am Start (Displays, Knöpfe, etc.) und willst nur mal ein wenig mit dem Arduino experimentieren.

Du könntest dir eine globale Variable definieren, also außerhalb von setup() und loop(), in der du dir merkst, ob du das Listing bereits ausgegeben wurde oder nicht.
Genauso könntest du dir in so einer weiteren Variable merken, ob die Karte eingesteckt ist/war oder nicht.
Du könntest dann das Listing immer dann ausgeben, wenn du eine Änderung der Variablen festgestellt hast.

Das gewinnt dann vielleicht keinen Schönheitspreis aber ist ein guter Einstieg in Arduino Sketches.


Best regards / Viele Grüße
Till
Re: ne kurze Frage zu nem Sketch
13. July 2016 07:12
Quote
microfortnight
.....
Loop wird wie der Name vermuten lässt anschließend immer wiederholt ausgeführt.
....
Jo, und der Loop soll nicht stattfinden, wie bring ich den weg?


Sehen ist nicht nur Augensache
Drucker:
seefew's Jenny
Re: ne kurze Frage zu nem Sketch
13. July 2016 07:22
Alles innerhalb von loop() ausschneiden und am Ende von setup() einfügen sollte funktionieren.
Dann ist loop() leer und du hast einen Einmal-Arduino, der einmal nach Start/Reset das Listing ausgibt.

Schau mal in der ArduinoIDE unter File -> Examples -> SD -> CardInfo oder auch in die anderen Beispiele.
Das CardInfo-Example gibt das Listing nur einmal im Setup aus.


Best regards / Viele Grüße
Till
VDX
Re: ne kurze Frage zu nem Sketch
13. July 2016 10:50
... die loop muß vorhanden sein, sonst läuft der Arduino nicht - bei Interrupt-Steuerung habe ich eine komplett leere loop-Schleife und nur die Voreinstellungen in der setup() und den bei einem Interrupt auszuführenden Code in einer ISR-Methode (Interrupt-Service-Routine).

Ansonsten in der loop eine If-Abfrage zu vorher deklarierten Pin-Zuständen mit Verzweigungen in verschiedene Routinen - dann kannst du z.B. mit einem HIGH auf einem abgefragten Pin die jeweilige Routine starten, bei LOW wird das ingnoriert.

Z.B:

// *************************************************************
int PinIn1 = 2;
int PinIn2 = 3;
int PinOut = 4;

// the setup routine runs once when you press reset:
void setup() {

// initialize digital pins
pinMode(PinIn1, INPUT);
digitalWrite(PinIn1, HIGH);

pinMode(PinIn2, INPUT);
digitalWrite(PinIn2, HIGH);

pinMode(PinOut, OUTPUT);
digitalWrite(PinOut, LOW);
}

// the loop routine runs over and over again forever:
void loop()
{
if(digitalRead(PinIn1))
{
methode_zu_Pin1();
}
}

// user methodes
void methode_zu_Pin1()
{
if(digitalRead(PinIn2))
{
digitalWrite(PinOut, HIGH);
}
else
{
digitalWrite(PinOut, LOW);
}
}
// *************************************************************

2-mal bearbeitet. Zuletzt am 13.07.16 10:54.


Viktor
--------
Aufruf zum Projekt "Müll-freie Meere" - [reprap.org] -- Deutsche Facebook-Gruppe - [www.facebook.com]

Call for the project "garbage-free seas" - [reprap.org]
Re: ne kurze Frage zu nem Sketch
13. July 2016 10:50
besten Dank euch Beiden.
lüppt jetzt wie gewünscht.
FYI:
das war das Example....


Sehen ist nicht nur Augensache
Drucker:
seefew's Jenny
Re: ne kurze Frage zu nem Sketch
13. July 2016 11:24
Quote
VDX
... die loop muß vorhanden sein, sonst läuft der Arduino nicht
Das ist nicht ganz richtig.

Wenn man auf loop() und setup() verzichtet, funktionieren auch delay(), millis() usw. nicht mehr. Das ist richtig.
Aber es geht auch ohne setup() und loop().
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen