- 3D-Druck Einstieg und Tipps         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Datenübertragung

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    23.11.2006
    Ort
    K-Town
    Alter
    46
    Beiträge
    178

    Datenübertragung

    Anzeige

    Praxistest und DIY Projekte
    Hi,

    bei einem Projekt von mir möchte ich Daten über ein BUS auf einen anderen Prozessor schicken und wieder zurück.

    habe somit min. 2 Geräte die kommunizieren.

    das Gute, es funktioniert auch schon mit entsprechenden Testroutinen in beiden Geräten (einer sendet, der andere Wertet aus und reagiert)

    meine Frage:
    in welcher Form sollten die Zeichen über die Schnittstellen geschickt werden? ich meine: HEX DEZ oder gar das Zeichen (wie z.B. ein "T") als Klartext (String)

    was ist den so "der Standard" bei euch bzw. in der Industie?

    und:
    hat es irgendwelche Nachteile wenn man es in einer bestimmten Codierung schickt? --> wie z.B. das man dann beim Empfänger wieder umwandlen muss oder so???

    zur INFO:
    als Empfang und Auswertung benutze ich SELECT CASE und springe dann in die entprechnenden Antworten

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.09.2005
    Beiträge
    276
    in der Industie ist es so das alles als String übertragen wird.(Soweit ich das weiß)

    Gento

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    19.06.2006
    Ort
    Schriesheim
    Alter
    36
    Beiträge
    478
    ist halt am einfachsten zu programmieren. Wenn du nur einfach Zahlen überträgst, dann wird das sicher am schnellsten/sparsamsten sein
    So mache ich es auch.

    Ala...
    Empfangen: 231
    Wird interpretiert als: Selbstzerstörung


  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    23.11.2006
    Ort
    K-Town
    Alter
    46
    Beiträge
    178
    verstehe ich jetzt nicht ganz warum das einfacher ist...

    ich schreibe z.b.

    Code:
       If Ischarwaiting() <> 0 Then
          zeichen = Chr(udr)                                   'hier deklariere ich den "Empfangstyp"
             Select Case zeichen
                Case "Z"
                   Cls
                   Lcd "Antwort a"
                   Lowerline
                   Lcd zeichen
                   Wait 2
                Case "Y"
                   Cls
                   Lcd "Antwort b"
                   Lowerline
                   Lcd zeichen
                   Wait 2
                Case Else
                   Cls
                   Lcd "Antwort c"
                   Lowerline
                   Lcd zeichen
                   Wait 2
             End Select
    und wenn man z.B. schreibt:

    " zeichen = udr " anstelle von " zeichen = chr(udr) "

    dann ist das doch genauso viel Aufwand, denke ich...
    das Zeichen ist dann halt kein String sondern ein Byte!

    und somit wird der Empfang dann als Dezimalzahl dargestellt.

    nur was benutzt man so, bzw. was ist sinnvoller? oder ist das meiner Kreativität überlassen wie ich das besser deuten kann...

    vor allem wie macht ihr das?

  5. #5
    Erfahrener Benutzer Roboter Experte Avatar von marvin42x
    Registriert seit
    02.08.2005
    Ort
    Berlin
    Alter
    75
    Beiträge
    703
    Wenn die kleinen keinen Text in Werte umrechnen müssen hilft das Rechenleistung zu sparen.
    Schau mal Hier vorbei:
    http://www.marvins-lab.roboterbastle...tml/rncom.html

    Dort ist schon einiges zum Thema Kommunikation zusammengetragen. Kann sein, dass auch für Dich was Hilfreiches dabei ist.
    Falls Dir dort was an Information fehlt sag ruhig bescheid, das hilft mir die Dokumentation zu verbessern.

    Netter Gruß
    Die ersten zehn Millionen Jahre waren die schlimmsten. Und die zweiten Zehn Millionen Jahre, die waren auch die schlimmsten.url

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    @Zapo

    Die Frage ist "was" du machen willst.

    Wenn du in der Mehrheit nur feste Komandos übertragen und dort Zeit sparen willst dann kann die Form "Startzeichen,Befehl,Parameter,Stoppzeichen" Sinvoll sein.
    Der Text wird dann über einen Speziellen Befehl erledigt und kostet mehr Zeit.

    Andersrum wenn es mehr Text als Befehle gibt dann eben alles Per Textbefehle die du dann etwas umständlicher entschlüsseln mußt aber der Text geht dafür einfacher.

    Du must dir erstmal klar werden was du machen möchtest und dir anhand des Ergebnisses ein eigenes Protokoll zusammenstellen.

    Danach fragen was andere so machen hilft sicher bei der Technik und bietet Ideen aber nichts ist so effektiv wie die eigene Lösung weil sie meist genau auf den Fall zugeschnitten ist.

    Edit:
    Meine Gott was für Tippfehler
    Gruß
    Ratber

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    23.11.2006
    Ort
    K-Town
    Alter
    46
    Beiträge
    178
    @Ratber
    alles klar, das war verständlich... meine Nachricht die ich sende bestehe aus:
    STX,Adresse(Ziffern),Nachricht(Buchstaben),ETX

    dann denke wenn alles in HEX übertragen wird wäre das für mich am sinnvollsten....

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    19.06.2006
    Ort
    Schriesheim
    Alter
    36
    Beiträge
    478
    Zitat Zitat von Zapo.
    verstehe ich jetzt nicht ganz warum das einfacher ist...

    ich schreibe z.b.

    Code:
       If Ischarwaiting() <> 0 Then
          zeichen = Chr(udr)                                   'hier deklariere ich den "Empfangstyp"
             Select Case zeichen
                Case "Z"
                   Cls
                   Lcd "Antwort a"
                   Lowerline
                   Lcd zeichen
                   Wait 2
                Case "Y"
                   Cls
                   Lcd "Antwort b"
                   Lowerline
                   Lcd zeichen
                   Wait 2
                Case Else
                   Cls
                   Lcd "Antwort c"
                   Lowerline
                   Lcd zeichen
                   Wait 2
             End Select
    und wenn man z.B. schreibt:

    " zeichen = udr " anstelle von " zeichen = chr(udr) "

    dann ist das doch genauso viel Aufwand, denke ich...
    das Zeichen ist dann halt kein String sondern ein Byte!

    und somit wird der Empfang dann als Dezimalzahl dargestellt.

    nur was benutzt man so, bzw. was ist sinnvoller? oder ist das meiner Kreativität überlassen wie ich das besser deuten kann...

    vor allem wie macht ihr das?
    Achso, ich dachte du willst lange Strings senden und vergleichen.
    Jap, so wierds wohl beinahe egal sein, was du machst, wobei ich immernoch zu KONSTANTEN mit geschickten NAMEN tendieren würde

    #DEFINE DO_SELFDESTROY 213

    Das ist am perfomantesten (wird der Compiler wohl hinbekommen)

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Zitat Zitat von Zapo.
    @Ratber
    alles klar, das war verständlich... meine Nachricht die ich sende bestehe aus:
    STX,Adresse(Ziffern),Nachricht(Buchstaben),ETX

    dann denke wenn alles in HEX übertragen wird wäre das für mich am sinnvollsten....
    Solange du sicherstellen kannst das die Steuerzeichen "niemals" im Text/Datenbereich vorkommen oder du Steuerbefehle im Text/Datenbereich von der Befehlserkennung ausblendest ist das kein Problem.
    Gruß
    Ratber

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    23.11.2006
    Ort
    K-Town
    Alter
    46
    Beiträge
    178
    ja eigentlich schon, wird durch ein Protokoll sichergestellt...

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test