mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik FT245 & 0b00000000 & LabView


Autor: D.I. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe mir ein AVR 2560 zusammen mit einem FT245 aufgebaut, die 
Kommunikation mit dem PC funktioniert, solange der µC kein 0b00000000 
senden will... was aber mal vorkommt, da er die Daten eines 16bit ADC an 
den PC senden soll...
Ich benutze die D2XX Treiber mit LabView, wenn der µC ein 0b00000000 
sendet, bekomme ich die Meldung, dass ein Byte empfangen wurde (Bytes 
Read = 1) aber der String ist leer...
wenn ich ein 0b00000000 in LabView erstelle und in einen String umwandel 
erscheint immerhin ein nichtsichtbares Zeichen und der String hat dann 
die Länge 1
Hat jemand eine Idee, was ich falsch mache?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Hat jemand eine Idee, was ich falsch mache?

Das, was Du "in einen String umwandeln" nennst, erzeugt nicht die 
Klartext-Repräsentation des übergebenen Wertes, sondern interpretiert 
den Wert direkt als ASCII-Code eines Zeichens. Den ASCII-Code 0 aber hat 
ein nicht sichtbares Steuerzeichen.

Autor: D.I. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mein Problem ist aber, dass ich kein 0b00000000 empfangen kann... die 
Funktion Read der D2XX Treiber liefert mir in LabView, dass ein Byte 
empfangen wurde, aber der Buffer String die Länge 0 hat. LabView selbst 
kann aber sehr wohl was mit dem Byte 0b00000000 anfangen und wenn ich 
das Byte in einen String schreibe, hat dieser auch die Länge 1

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
D.I. schrieb:
> dass ein Byte empfangen wurde aber der String ist leer...
Klar, Stringende = '/0' = 0x00 = 0b00000000

> Hat jemand eine Idee, was ich falsch mache?
Du darfst das empfangene Byte nicht als String interpretieren, sondern 
eben einfach als ein Byte.

D.I. schrieb:
> Mein Problem ist aber, dass ich kein 0b00000000 empfangen kann...
Doch, denn du selber schreibst:
>> wenn der µC ein 0b00000000 sendet, bekomme ich die Meldung,
>> dass ein Byte empfangen wurde

Autor: D.I. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke,

hatte schon probiert das als Byte einzulesen, ging leider nicht richtig, 
String ist vorgegeben :-/ werde mich aber noch mal daran probieren

Autor: D.I. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke :-)

es hat mit Byte nur nicht funktioniert, weil nur ein Pointer übergeben 
wird, ich diesen aber als Wert eingelesen habe ^^

Danke nochmals für die Mühe

Autor: Johann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gigt die "Dezimal-String nach Zahl" Funktion

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Johann schrieb:
> Es gigt die "Dezimal-String nach Zahl" Funktion
Nur: hier kommt offenbar ein Binärwert über die serielle Schnitte, und 
eben kein String...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.