-         

Ergebnis 1 bis 9 von 9

Thema: Morsecode in Binärform - Decoder

  1. #1

    Morsecode in Binärform - Decoder

    Anzeige

    Hallo

    soo, ich wollte mit meinem Mega8 eine Led in einem bestimmten Morsecode abwechselnd kurz und lang leuchten lassen.
    Der Morsecode soll im Binärcode gespeichert werden.
    zB.:
    Code = "01101010100110" ' frei erfunden
    So, wie bekomme ich es jetzt hin, dass er den Binär-Code durch geht und dann mit einer If von 0 und 1 unterscheidet?
    Das Problem ist ja nur ihn dazu zu bringen, immer eine "Zahl" von der ganzen Zahlenreihe zu nehmen und diese als nächstes zu verarbeiten! Dann die benutzte raus zu nehmen und die nächste aus der ganzen Zahlenreihe zu nehmen. Und wenn nichts mehr da ist, aus der Schleife raus.

    So ungefähr meine ich es:
    For x = 1 to *anzahldermorsezeichen/binärzahlen*
    y = *aktuelle binär-zahl*
    if y = 0 then
    print "kurz"
    else
    print "lang"
    end if
    Next

    So ungefähr... aber keine Ahnung wie ich das wirklich realisieren soll!

    Hoffentlich kann mir jemand helfen.

    Gruß Chris

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Ich seh da noch ein anderes Problem:
    Wie Unterscheidest du bei deinem Beispiel bei den ersten 6 Zeichen "011010", welche der folgenden Möglichkeiten es ist:
    ETTETE, ANN, WR, ETTAE, ATETE, PN, AC, könnte alles sein. Da fehlt noch irgendwie die Pause zwischen den einzelnen Zeichen.
    #ifndef MfG
    #define MfG

  3. #3
    Hmm, deswegen soll er ja die ganze Zeichenfolge Zeichen für Zeichen nach der Reihe auseinander nehmen und jedes Zeichen auswerten.
    Kurz ist "0" und lang ist "1".
    Bei 011010 wäre es:
    Kurz, lang, lang, kurz, lang, kurz

    Also soll er bei dem Beispiel zuerst die 0 links aus der Zeichenfolge rausnehmen und eine Led einmal kurz aufleuchten lassen. Dann das nächste Zeichen (1), bei dem er die Led etwas länger leuchten lässt. usw.

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Hallo Chris,

    wenn man die Morsezeichen binär abspeichern will, geht das z.B. sehr platzsparend mit 16-bit Werten:
    Code:
     0x077D, // 0b0000011101111101  @
     0x000D, // 0b0000000000001101  A
     0x0057, // 0b0000000001010111  B
     0x0077, // 0b0000000001110111  C
     0x0017, // 0b0000000000010111  D
     0x0001, // 0b0000000000000001  E
     0x0075, // 0b0000000001110101  F
     0x001F, // 0b0000000000011111  G
    Dabei stehen je 2 Bits für ein Dit/Dah des Morsecodes:
    "01" bedeutet ein Dit (Punkt) und "11" ein Dah (Strich). Trifft der Encoder auf "00", ist das Zeichen zuende.
    Zum Senden von Morsecode wertet man immer die 2 untersten Bits aus, schiebt dann den Wert um 2 Bits nach rechts, usw.

    Gruß Dirk

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    26.05.2008
    Beiträge
    6

    Morsecode in Binärform - Decoder


  6. #6
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    Hallo!

    Ich weiss leider nicht was eigentlich das Ziel ist. Es ist aber ein grosser Unterschied zwischen einzelnen Impulsen und bei einer Kommunukation benutztem Morsecode, wo auch definierte Abstände zwischen einelnen "Impulsen" genau definiert sind.

    Sorry, aber in bisherigen Beiträgen sehe ich leider keinen Zusammenhang zwischen der Sequenzen von "0" und "1" und dem eigentlichem Morsecode.

    MfG

  7. #7
    Kommt zwar aus einer anderen Ecke (aus der ich komme ), aber da hat sich schon mal einer Gedanken gemacht. http://reaktivlicht.de/kochbuch_alt.pdf Punkt 4.10.
    Funktioniert 1a

  8. #8
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    @PICture:
    Sorry, aber in bisherigen Beiträgen sehe ich leider keinen Zusammenhang zwischen der Sequenzen von "0" und "1" und dem eigentlichem Morsecode.
    Wenn du (auch) meinen Post vom 18.1. meinst:
    Mit dieser Art der Abspeicherung der Morsezeichen läuft bei mir prima ein Morse-Encoder (also Sender) und ein Morse-Decoder (Empfänger) bis 750 CpM.

    Also:
    Meine Nullen/Einsen stellen den Morsecode dar. Die Pausen zwischen Dits/dahs, Zeichen und Worten sind definiert und brauchen daher nicht in einer Morse-Tabelle gespeichert zu werden.

    Gruß Dirk

  9. #9
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    Hallo!

    @ Dirk

    Sorry, ich bezweifle es nicht, wahrscheilich war aber deine sparliche Erklärung vom 18.1 für mich nicht ganz klar.

    MfG

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •