Morsecode Generator Arduino

...komplette Frage anzeigen Teil 1 - (programmieren, arduino, Microcontroller) Teil 2 - (programmieren, arduino, Microcontroller)

1 Antwort

Der erste Teil wandelt ja Buchstaben in Morsecode um, indem er der Funktion "flashSequence" aufruft.

Der Funktion "flashSequence" wird dabei ein Zeiger auf ein Array übergeben, das den entsprechenden Buchstaben als Punkte und Striche enthält. Bei Strings ist in C ja das letzte Zeichen ein NUL-Zeichen (mit einem "L" - in C einfach nur als 0 geschrieben - hier ist ein kleiner Fehler im Programm, es müsste nicht "!= NULL", sondern "!= 0" heißen). Daher geht die Funktion in einer while-Schleife durch alle Zeichen im String durch, bis das Ende (das NUL-Zeichen) erreicht ist.

Für jeden Punkt und jeden Strich wird dann wieder die Funktion "flashDotOrDash" aufgerufen, die dann die LED leuchten ein- und ausschaltet. Je nach dem, ob ein Punkt oder ein Strich übergeben wird, leuchtet die LED unterschiedlich lange.

Im Endeffekt passiert folgendes:

  • Die LED wird eingeschaltet
  • Je nach dem, ob ein Punkt oder ein Strich zu versenden ist, wartet das Program 1 oder 3 Zeiteinheiten (1 Zeiteinheit = dotDelay)
  • Die LED wird ausgeschaltet
  • Das Programm wartet 1 Zeiteinheit
  • Nach jedem Buchstaben wartet das Programm 3 zusätzliche Zeiteinheiten (insgesamt also 4)
  • Nach jedem Wort wartet das Programm 4 zusätzliche Zeiteinheiten (insgesamt also 8)

Was möchtest Du wissen?