USB mit Qt lesen / gcnew array?

Alles rund um die Programmierung mit Qt
Antworten
QTNeuer
Beiträge: 14
Registriert: 17. Oktober 2011 17:54

USB mit Qt lesen / gcnew array?

Beitrag von QTNeuer »

Hallo,

ich moechte mit Qt Daten von einem USB Port lesen, dazu braeuchte ich einen Buffer fuer die Tx Schnittstelle.
In cli kann man soetwas verwenden

Buffer = gcnew array<unsigned char>(Groesse)

was waere in Qt die aehnliche alternative?

Kennt jemand zufaellig noch weitere Quellen fuer infos zur USB Programmierung?

Viele Gruesse
QTNeuer
Beiträge: 14
Registriert: 17. Oktober 2011 17:54

new QByteArray mit Wert belegen

Beitrag von QTNeuer »

Hallo,

warum funktioniert soetwas nicht und wie muesste es richtig sein?

QByteArray *Array = 0;
Array = new QByteArray[5];

Array[0] = 0x01;
Array[1] = 0x02;
Array[2] = 0x03;
Array[3] = 0x04;
Array[4] = 0x05;

Als Fehler bekomme ich: error C2679: Binärer Operator '=': Es konnte kein Operator gefunden werden, der einen rechtsseitigen Operanden vom Typ 'int' akzeptiert (oder keine geeignete Konvertierung möglich)

Kann mir da jemand weiter helfen?
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Re: new QByteArray mit Wert belegen

Beitrag von franzf »

1) Die Initialisierung mit 0 ist überflüssig, wenn in der nächsten Zeile eh eine ordentliche Zuweisung erfolgt.
2) Du hast ein Array von QByteArrays (so wirklich beabsichtigt? Wenn ja, wäre nicht QVector/std::[tr1::]array besser/einfacher?) der "[ ]" gibt dir ein QByteArray-Objekt - findest du in der Doku einen passenden QByteArray::operator=()?

Ich denke du willst eigentlich nur ein QByteArray der Länge 5 und nicht 5 QByteArrays mit am Ende nur einem einzigen Wert, oder?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: USB mit Qt lesen / gcnew array?

Beitrag von Christian81 »

QByteArray - und wenn man das nicht kennt dann würde auch ein 'new char[xx]' reichen ...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
QTNeuer
Beiträge: 14
Registriert: 17. Oktober 2011 17:54

Hex Werte mit QByteArray senden

Beitrag von QTNeuer »

Hallo,

wenn ich ein QByteArray folgendermassen definiere:

QByteArray Data[2];
Data[0] = "0x01";
Data[2] = "0x02";

Was wird dann gespeichert? Wirklich der hex-wert oder ein String 0x01?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Hex Werte mit QByteArray senden

Beitrag von Christian81 »

1. Es wird crashen 3. Zeile)
2. Was willst Du erreichen? Du erzeugst ein Array mit 2 QByteArray
3. Was willst Du genau erreichen
4. Im ersten QByteArray wird der String "0x01" gespeichert und im zweiten (wenn der Code dann korrigiert ist) der String "0x02"
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
QTNeuer
Beiträge: 14
Registriert: 17. Oktober 2011 17:54

Re: Hex Werte mit QByteArray senden

Beitrag von QTNeuer »

ach ja, klar es muss Data[1] = "0x02"; heissen.

Ich moechte eigentlich die echten hex- Werte in Data speichern.
Es muesste also ohne " " sein?!
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Hex Werte mit QByteArray senden

Beitrag von Christian81 »

Hast Du 2. gelesen? Ich glaube nämlich nicht das es so gewollt ist.
Der Rest ist C Grundlagen - wenn eine 1 rein soll dann schreib auch eine 1 hin.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Re: Hex Werte mit QByteArray senden

Beitrag von solarix »

Kommt mir irgendwie bekannt vor.. ach ja:
http://www.qtforum.de/forum/viewtopic.php?f=1&t=14364

Evt. sollte QTNeuer da erstmal die Frage von unserem franzerl ergründen, bevor er sie einfach nochmals in anderem Gewand stellt... :roll:
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Re: USB mit Qt lesen / gcnew array?

Beitrag von franzf »

Ich hab mal alle 3 Themen zusammengefügt, da zum selben Thema wirklich nicht 3 verschiedene Threads nötig sind...
Bitte in Zukunft einfach bei einem Thread bleiben!
Antworten