Seite 1 von 2
Kommunikation über sie Serielle Schnittstelle unter windows
Verfasst: 20. November 2009 08:31
von x-man
Hallo zusammen,
ich versuche seit einiger Zeit mit eine QT GUI zusammen zu bauen, in der ich die Serielle Schnittstelle (COM 1) öffne. Hier möchte ich dann empfangene Daten darstellen und Daten senden können.
das ganze versuche ich unter Windows Vista und QT4.5.3 (ich glaube als c++ Compiler wird Mingw benutz).
Das Öffnen des Com-Ports bekomme ich anscheinend hin. Nur das lesen und schreiben geht einfach nicht. ich glaube das liegt an dem Syncronen bzw.Asyncronen Modus mit dem der Com-Port geöffnet worden ist.
Vielleicht kann mir ja hier jemand weiter helfen.
danke & gruß
Verfasst: 20. November 2009 09:28
von RavenIV
Wenn Du nicht verrätst, was Du bisher gemacht hast und wie Du es gemacht hast, kann Dir keiner helfen.
Am Besten sind meistens Code-Ausschnitte.
Verfasst: 20. November 2009 11:00
von The_EcKo
Benutzt du QExtSerialPort ?
Verfasst: 20. November 2009 12:42
von x-man
Hallo,
ich habe versucht mir eine eigene Klasse zu schreiben, in der ich die Winapi-Funktionen verwende.
Code: Alles auswählen
COM_Device = CreateFileA("COM1" , GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL);
und
Code: Alles auswählen
char buff[1024];
DWORD size=128;
DWORD* Bytes=0;
QString readData;
static int zaehler=0;
OVERLAPPED overlapRead;
bool success = [b]ReadFile([/b]COM_Device, &buff, size, Bytes, NULL);
Die QextSerialPort habe ich mir in Form eines Zips runter geladen. Ich vermutete ich musste hier die lib erst noch bauen und dann dorthin kopieren wo der Compiler sie findet. Was den gebrauch dieser "Klasse" bzw der Methoden angeht, habe ich das aber nicht ganz verstanden. Die Beispiele die dabei waren haben auch nicht wirklich gefunzt. Ich habe mir zum testen einen kl. MicroController geschnappt und diesen an den Com-Port angeschlossen. Dieser sendet ununterbrochen etwas. Aber bei den Beispielen kommt nichts an.
Wo hingegen an anderes terminal prog die gesendeten Daten empfängt.
Vielen Dank noch mal das ihr euch meiner annehmen möchtet.
Gruß
Verfasst: 20. November 2009 16:49
von kuzulis
x-man,
Verwenden Sie die Bibliothek:
QextSerialPort oder QSerialDevice v 0.1.0 (besser aus dem SVN).
Warum hast du das machen, was seit langem erfunden?

Verfasst: 20. November 2009 17:14
von RavenIV
kuzulis hat geschrieben:x-man,
Verwenden Sie die Bibliothek:
QextSerialPort oder QSerialDevice v 0.1.0 (besser aus dem SVN).
Warum hast du das machen, was seit langem erfunden?

Dem kann ich nur zustimmen.
Wollte aber nicht so direkt sein.

8)
Verfasst: 20. November 2009 20:33
von x-man
Hallo,
ich versuch halt gerne etwas selber hin zu bekommen. Ich denke immer dabei lerne ich mehr. na wahrscheinlich habt ihr recht.
ein Problem habe ich da aber dann noch. Ich könnte hierfür eine Anleitung gebrauchen. Gibt es vielleicht schön fertig gebaute libs
Danke & Gruß
Verfasst: 22. November 2009 16:53
von x-man
Na das hab ich mir gedacht. Sobald man konkrete Fragen stellt kommen keine Antworten mehr. Hier hat wohl auch keiner Ahnung von QT.
Schade ;-(
Verfasst: 22. November 2009 17:21
von Christian81
Du sagst also dass Du z.B. bei QSerialDevice die 5 Zeilen in der Readme_en.txt nicht kapierst und auch von allein nicht drauf kommst 'qmake' und danach 'nmake' auf der Kommandozeile einzugeben? Was genau sollen wir Dir noch vorkauen??

Verfasst: 23. November 2009 12:30
von x-man
Hallo Christian81,
ich möchte dich ungern berichtigen aber es muss wohl sein. Erst mal möchte ich mich aber bedanken das du überhaupt geschrieben hast.
1. es sind etwas mehr als 5 Zeilen
2. steht in der Anleitung etwas von make und nicht nmake (aber das habe ich bereits selber raus gefunden)
3. habe ich die Anleitung befolgt und es entstehen fehlermeldung beim Bauen)
Und letztens finde ich es immer recht schade wenn solche "alleswisser" wie du immer so von oben herab normal sterbliche wie mich behandeln.
Vielleicht solltest du erstmal genau wissen was du da schreibst.
Natürlich mache ich fehler und versteh einige Sachen nicht. Deshalb gibt es ja solche Foren um sich helfen zu lassen. Wenn du das anders siehst dann antworte doch einfach nicht.
kannst du mir jetzt weiter helfen oder nicht? Und bitte ohne klugschheißerei.
trotzdem danke
Gruß
Verfasst: 23. November 2009 15:00
von kuzulis
x-man,
Sie zeigen, welche Maßnahmen durchgeführt, welche Fehler haben Sie die Compiler, etc.
Sag mir, was genau ist eigentlich nicht zu bekommen?
Also, sag mir, hast du in die Bibliothek zu sammeln?
PS: Wenn ich richtig übersetzt aus dem Deutschen

Verfasst: 23. November 2009 18:25
von Christian81
x-man hat geschrieben:
1. es sind etwas mehr als 5 Zeilen
Code: Alles auswählen
To build only the library, do this:
1. Unpack the src directory from the archive with the source code project
2. Navigate to the directory qserialdevice \src:
cd qserialdevice \src
3. The following commands:
qmake src.pro
make
ok, 8 ...
2. steht in der Anleitung etwas von make und nicht nmake (aber das habe ich bereits selber raus gefunden)
wow
3. habe ich die Anleitung befolgt und es entstehen fehlermeldung beim Bauen)
Und wo sind sie? Sollen wir raten oder Glaskugel befragen?
Und letztens finde ich es immer recht schade wenn solche "alleswisser" wie du immer so von oben herab normal sterbliche wie mich behandeln.
Sorry, aber das hast Du provoziert... - wenn man ordentliche Antworten will sollte man ordentliche Fragen stellen und vielleicht auch sagen *wo* genau es hakt!
Hier hat wohl auch keiner Ahnung von QT.
Verfasst: 23. November 2009 19:54
von x-man
Alter nerv nicht!!
Wenn du nicht in der Lage bist ordentlich zu antworten, dann bleib weg. Nur weil du keine anderen hobbys oder interessen in deinem Leben hast, dann schreibe nicht auf Fragen anderen Leute.
Ich kann natürlich hier mein komplettes Projekt abbilden,so das sich jeder der helfen möchte selber alles raus suchen muss. Aber das find ich sch...
Tatsache ist, ich weiß nun mal nicht wo das Problem liegt. Von da her weiß ich auch nicht was der "erfahrende Programmieren" (also DU). braucht um das Problem zu lösen.
Deshalb muss man sich da halt durch fragen und antworten langsam herantasten. Aber das kannst du wohl noch nicht.
KANNST DU JETZT HELFEN ODER NICHT!!!!!!
WENN NICHT DANN BITTE NICHT MEHR ANTWORTEN!!!!
Verfasst: 23. November 2009 21:11
von upsala
@x-man: Willst du jetzt Hilfe? Scheinbar nicht, denn dann hättest du endlich mal eine Fehlermeldung abgeliefert.
Nachdem du das nicht willst, sollten wir diesen Thread schließen.
Verfasst: 24. November 2009 07:54
von x-man
Ach du scheiße hier wird man für Großkotzigkeit auch noch belohnt.
SCHLIEß DEN SCHEIß!!! BITTE!!!!