-         

Ergebnis 1 bis 4 von 4

Thema: RS232 - Messwert abfragen

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    04.03.2006
    Beiträge
    5

    RS232 - Messwert abfragen

    Anzeige

    Hallo,

    kennt Ihr eine einfache Möglichkeit einen Messwert, der als BCD -Code vorliegt für die RS232 - Schnittstelle aufzubereiten?

    Die Pegelanpassung mit MAX232 habe ich schon entdeckt, habe auch schon mal mit meinem c# / VS2005 Code die Steuereingänge ausgelesen, aber ich Suche noch den "mach mal aus meinem Singnal eine serielle Kommunkation" Part. (Ich glaube das läuft unter dem Thema UART)

    Danke,

    Mathias

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.12.2005
    Ort
    Euskirchen-Großbüllesheim
    Alter
    67
    Beiträge
    2.063
    Hallo Matthias,
    was möchtest Du aufbereiten ?
    Du kannst die Werte als Binär- oder ASCII-Zeichen übertragen. ASCII benötigt naturgemäß mehr Bytes als eine Binärübertragung. Beides hat Vor- und Nachteile.
    Ein Datenprotokoll solltest Du bestimmen, z.B. mit einem Byte als 'Startzeichen' beginnen, die Anzahl der zu übertragenden Bytes festlegen und evtl. eine Checksumme zum Schluß senden.
    MfG Karl-Heinz
    HobbyElektronik hier klicken ....

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    04.03.2006
    Beiträge
    5
    ok, du hast mir Mut gemacht. Ich versuche es mal "zu fuss".
    Wenn es trotzdem noch ein sample irgendwo gibt, dannn immer her damit.
    Mathias

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.12.2005
    Ort
    Euskirchen-Großbüllesheim
    Alter
    67
    Beiträge
    2.063
    Die ASCII-Übertragung ist recht einfach und kann mit jedem Terminal-Programm 'kontrolliert' werden.
    Als Start-Byte wählst Du ein ASCII-Zeichen, daß Du sonst nicht brauchst.
    Damit muß der 'Empfänger' immer nur auf dieses Startzeichen warten.
    Es gibt da schon 'vorgefertigte' Zeichen: STX = Start of Text, ETX = End of Text, usw. Schau Dir mal eine ASCII-Tabelle an.
    Dazwischen wandelst Du die zu übertragenden Daten in Nible .... + 30hex = 30hex...39hex = '0...9' (wenn größer 39hex, dann + 7 = 41hex...46hex = 'A...F') und schickst die raus.
    Du kannst auch nach dem STX eine feste Anzahl von ASCII-Zeichen ausgeben, dann wird das ETX gespart.
    Ich selbst verzichte auch auf ETX und sende am Ende Return und LineFeed; dann zeigt jedes Terminal-Programm die Daten sauber untereinander an; sie können auch direkt gedruckt werden (mit einem seriellen Drucker versteht sich).
    Wenn die Daten nicht besonders wichtig sind, kannst Du auch auf eine Checksumme verzichten. Am 'Empfänger' können die übertragenen Zeichen und die daraus entstehenden Werte auf Sinn oder Unsinn geprüft und evtl. verworfen werden.
    MfG Karl-Heinz
    HobbyElektronik hier klicken ....

Berechtigungen

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