-         

Ergebnis 1 bis 9 von 9

Thema: Daten von PC an uC übertragen

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    11.06.2004
    Ort
    Ulm
    Alter
    30
    Beiträge
    248

    Daten von PC an uC übertragen

    Anzeige

    Hallo,
    wie im Titel schon steht möchte ich Daten (vorallem Steuersignale) vom PC an den uC übertragen.

    Zu den Randdaten:

    uC: ATMega32 + FT232
    -> UART ist implementiert und Funktioniert

    PC-Seite: Delphi

    Was mir jetzt noch fehlt ist ein Protokoll zur Dateninterpretierung.
    Gibt es hierzu Beispiele oder könnt ihr mir Tips geben wie ich das am besten angehe?


    Grüße Sebastian

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.02.2006
    Beiträge
    164
    ich hab mir ein start- und endbyte definiert und berechne eine checksumme

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    11.06.2004
    Ort
    Ulm
    Alter
    30
    Beiträge
    248
    Kann jemand ein Stück Code poasten.
    Ich kann mir das gar nicht vorstellen wie ich da anehen muss.

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    17.08.2004
    Beiträge
    1.065
    die meisten Protokolle bestehen aus einer Präambel, also einem abgesprochenen Teil aus meist 1-3 Bytes. Damit soll das Paket identifiziert werden. Es folgt dann z.B. ein Byte, was den Typ des Pakets angibt. Beim IP-Protokol z.B. ob es ein TCP oder UDP oder sonstwas Paket ist. Wenn du nur einen Typ hast, brauchst du das aber nicht. Dann könnte die Länge des gesamten Packets oder der Daten des Pakets als ein Byte folgen. Ab da folgen dann eine bestimmte Anzahl Datenbytes, z.B. Zustand des PortB. Im Anschluss noch eine berechnete Zahl, die sagt, dass das Paket ok ist, CRC8 zum Beispiel. Und dann noch ein Schlusszeichen.

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    11.06.2004
    Ort
    Ulm
    Alter
    30
    Beiträge
    248
    Das prinzip istmir jetzt prinzipiell klar.

    Hat jemand ein Code-Beispiel?

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.02.2006
    Beiträge
    982
    @the_Ghost666: Die Päambel Bytes indentifizieren das Paket nicht, eigentlich dienten sie mal der Synchronisation. Das darauf folgende Byte ist in der Regel das Start-Byte..(bei Ethernet z.b. das SFD 'Start Frame Delimiter' Byte)

    @sebi87: Für was willst du denn ein 'Code-Beispiel'?
    Für den uC oder PC Delphi? uC in C, Basic?
    Willst du wissen wie man den ankommenden Byte-Array splittet, auswertet oder wie man Prüfsummen berechnet?
    Oder willst du einfach nur ein fertiges Protokoll zum C&P'n?
    Nam et ipsa scientia potestas est..

  7. #7
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    11.06.2004
    Ort
    Ulm
    Alter
    30
    Beiträge
    248
    Hmm.... verstehe ich sollte das besser spezifizieren.

    Also ich weiß wie ich die Daten von Delphi aus sende. Ich kann auch per uC Bytes senden und empfangen. Nur hänge ich gerade an den Problem das ich nicht weiß wie ich den "Frame" im uC auswerte, bzw. wie ich die Daten verarbeite.

    Es geht mir also quasie nur um den uC.

    Grüße

  8. #8
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Bei der Auswertung am µC hat man 2 Möglichkeiten:
    1) Man wartet auf das Signalbyte für den Anfang eines Datensatzes und fängt dann den darauf folgenden Datensatz zu interpretieren.

    2) Man schreibt die Daten in einen Puffer, bis das Signalbyte für das Ende eines Datenpaketes gefunden wird. Erst dann interpretiert man die Daten aus dem Puffer, von hinten ausgehend.

    Das 2 te Verfahren hat Vorteile, wenn der µC während der Übertragung noch was tun soll. Das schreiben in den Puffer kann man in einer ISR machen, und beim Auswerten hat man dann alle Daten ohne Wartezeit zusammen. Man kann dafür ggf. auch eine passende Stelle in der Hauptschleife abwarten. Dafür hat man Probleme wenn eine Datenpaket sehr lang sein kann, denn die Daten müssen ertmal in den Puffer.

  9. #9
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    11.06.2004
    Ort
    Ulm
    Alter
    30
    Beiträge
    248
    Hat das wie es Beserwessi unter Punkt 2 schreibt schon mal jemand programmiert der bereit wäre den Code für die Auswertung zu posten?

    Wäre super lieb. Ich bekomme es einfach net hin

Berechtigungen

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