-         

Ergebnis 1 bis 4 von 4

Thema: Strings über I2C senden?

  1. #1
    Erfahrener Benutzer Begeisterter Techniker Avatar von toter_fisch
    Registriert seit
    25.01.2011
    Ort
    Heidelberg
    Alter
    20
    Beiträge
    227

    Strings über I2C senden?

    Anzeige

    Hi, ich möchte die Daten von einem GPS empfänger über I2C senden. Bisher habe ich immer nur ein Byte gesendet. Kann man auch ganze Strings mit ASCII zeichen über I2C versenden, und wie sieht dann der Empfang auf dem Slave gerät in Bascom aus?

    Gruß toter_fisch

  2. #2
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Hey,

    Strings sind nicht mehr als zusammengehörende Bytes. Wenn du also einen String verschicken willst, sendest du jedes Byte einzelnt. Da jeder String mit einer "0" abgeschlossen wird, machst du eine While-Schleife die solange die Bytes deines Strings sendet, bis das Zeichen eine "0" ist.
    Alternativ kannst du auch die Länge des Strings bestimmen und damit weiterarbeiten.
    Der Empfang sieht dann ähnlich aus. Du empfängst jedes Zeichen und hängst es an deinen Empfangsstring dran, sprich z.B. so:

    String = String + Chr(Zeichen aus dem Empfangsbuffer)

    Wichtig ist nur das du den Befehl "Chr()" verwendest, da du sonst nicht das Zeichen an sich speicherst sondern den ASCII Wert des Zeichens.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  3. #3
    Erfahrener Benutzer Begeisterter Techniker Avatar von toter_fisch
    Registriert seit
    25.01.2011
    Ort
    Heidelberg
    Alter
    20
    Beiträge
    227
    Das GPS sendet ja aber nicht nur Buchstaben sondern vorallem auch Zahlen. Der "Chr()" Befehl macht jetzt aber plötzlich aus einer 3 ein komisches Zeichen
    Geändert von toter_fisch (09.08.2012 um 14:15 Uhr)

  4. #4
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Ja bei Zahlen kannst du genauso verfahren.
    Der Chr() Befehl wandelt einen Dezimalwert in ein ASCII um, sprich er nimmt deine 3 und wandelt sie in das dementsprechende ASCII Zeichen um.
    Wenn du eine "3" per UART bzw. RS232 als Zeichen empfängst und nicht als ASCII benötigst du den Befehl nicht.
    Schau mal hier:

    http://avrhelp.mcselec.com/

    und such mal nach "Chr"
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

Ähnliche Themen

  1. txt über USART senden
    Von amal im Forum C - Programmierung (GCC u.a.)
    Antworten: 7
    Letzter Beitrag: 23.03.2011, 18:51
  2. probleme mit usart strings senden
    Von hanspeter44 im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 05.03.2009, 22:07
  3. Probleme beim auslesen eines Strings über UART
    Von Euro im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 28.08.2008, 18:14
  4. senden über IR
    Von Robby 8 im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 4
    Letzter Beitrag: 22.07.2006, 19:55
  5. über PS/2 Daten zum PC senden
    Von Zeroeightfifteen im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 25.07.2005, 20:57

Berechtigungen

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