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


von D.I. (Gast)


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?

von Rufus Τ. F. (rufus) Benutzerseite


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.

von D.I. (Gast)


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

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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

von D.I. (Gast)


Lesenswert?

Danke,

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

von D.I. (Gast)


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

von Johann (Gast)


Lesenswert?

Es gigt die "Dezimal-String nach Zahl" Funktion

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.