INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Unterprogramme
28.01.2020, 20:26
Beitrag #9
RE: Unterprogramme
(28.01.2020 18:19)hd458 schrieb:  
Code:
//Funkionen
boolean PosFlanke( boolean input, boolean &hilfsmerker)
{
static boolean hilfsmerker;

....

}
Da merkt man schon schnell, wie auch lange Variablen keinen Sinn ergeben können.
Was ist ein Hilfsmerker, was merkt der sich, wobei hilft der?

Was soll die Funktion machen? Warum nimmt sie nicht selbst die Eingabe vor?

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.01.2020, 20:49
Beitrag #10
RE: Unterprogramme
Weiß nicht genau was ich schreiben soll.

Die Funktion hatte ich darüber gepostet, mit Kommentaren.
Benutze den Hilfsmerker zum Auswerten der Flanke am Eingang in der Funktion.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.01.2020, 21:21
Beitrag #11
RE: Unterprogramme
(28.01.2020 20:49)hd458 schrieb:  Benutze den Hilfsmerker zum Auswerten der Flanke am Eingang in der Funktion.
Dann wäre evtl ein Name wie oldInput / statusAlt oder so sinnvoller.

Funktionen sind nur bei mehrfacher Verwendung (oder großen Codeabschnitten) sinnvoll. Eigentlich ist Dein Thema zum Lernen von Funktionen zu komplex.

Soll ich die Funktion so verstehen, dass Du da für jeden Deiner x Inputs die Flanke erkennen willst? Dann brauchst Du auch für jeden Input eine Variable mit dem alten Status.
Da sind wir dann eigendlich schon bei struct und Arrays daraus Erstmal als Prinzipcode.
Also sowas:
Code:
struct eingabe{
  bool input;
  bool oldStatus;
}

struct eingabe eingaben[5];

bool posFlanke(struct eingabe &e) {
  if (e.input != e.oldStatus) {
    oldStatus = input;
    if (input) rewturn true;
  }
  return false;
}
...
for(byte i=0; i<5;i++) {
  bool result = posFlanke(eingaben[i]);
  // mach was mit result
}
Das könnte man beliebig ausbauen.

Hier
habe ich sowas Ähnliches gemacht

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
Smile Unterprogramme seriell abarbeiten fliegerx 25 6.111 08.03.2018 19:11
Letzter Beitrag: Tommy56
  Suche Beispiel für je einmal ausgeführte Unterprogramme mit Aufruf durch Tasten Marlox 42 23.258 28.12.2014 22:49
Letzter Beitrag: Marlox
  Unterprogramme, aktiv / inaktiv per Serielle, 3 von 4 Marc2014 4 2.527 17.08.2014 21:07
Letzter Beitrag: Thorsten Pferdekämper
  Unterprogramme, if vergleich >9 ? Marc2014 2 2.620 11.08.2014 16:45
Letzter Beitrag: Marc2014

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste