RS232 Schnittstelle ansprechen



  • Ich würde gerne ein Programm schreiben, dass Daten über die RS232 Schnittstelle an einen Mikrocontroller schickt. Seitens des Mikrocontrollers ist alles schon wunderbar funktionsfähig, ich würde nur gerne nicht mehr auf die Verwendung eines Terminalprogramms angewiesen sein, sodass ich meinen Controller über eine GUI ansprechen kann. Die GUI seitens QT ist ebenfalls kein Problem. Nun stellt sich mir die Frage, ob QT bereits über eine Klasse/Klassen verfügt, um die Serielle Schnittstelle anzusprechen (wäre ja nicht ganz undenkbar). Kann mir jemand da weiterhelfen?
    Wenn es sich irgendwie vermeiden lässt möchte ich nämlich NICHT die WinApi verwenden.



  • Das kann doch nicht unmöglich sein, oder? Gibt es vllt. irgendeine Bibliothek, die die Ansteuerung der Seriellen Schnittstelle kapselt?


  • |  Mod

    google("RS232 QT") liefert dies:
    http://www.qtforum.de/forum/viewtopic.php?t=6138&sid=b56e4981887c1149811ce3dde2212626

    Ansonsten müsstest du dich evtl. noch was gedulden, nicht jeder QT Experte ist an so einem Brückentag online 😉



  • Seltsam, dass ich auf qextserialport noch nicht gestoßen bin. Danke schonmal, wenn sich nichts anderes findet werde ich wohl darauf zurückgreifen. 😉



  • Hallo, es gibt nur 2 Möglichkeiten:

    1. qextserialport
    2. Selber bauen

    Qt unterstützt nicht die Ansteuerung einer RS232 Schnittstelle. Somit kommst du nicht herum die eine externe Bibliothek zu zulegen. Alternativ kannst du das auch mit Plain C++ machen und dann mit Qt einfach einen Wrapper schreiben. Diese Methode ziehe ich persönlich vor, da es für manche Anforderungen meiner Meinung nach qextserialport ungeeignet ist, aber das musst du selber raus finden. Der Vorteil besteht darin das es gleichzeitig Plattform unabhängig ist.

    so long

    jd



  • was hast du nun gemacht? hast du qextserialport verwendet? ist es brauchbar?



  • Hallo!

    Benutze auch gerade qextserialport für ein eigenes Projekt. Es ist die einzige Bibliothek, die ich für Qt gefunden habe. Leider muss ich sagen, dass es nicht sooo toll ist. Die neuste Version (alpha) tut leider noch nicht bei allen Sachen einwandfrei und den älteren Versionen fehlt leider so manches Feature oder sie sind voller Bugs... Bin immer noch am überlegen, ob ich es manuell über das Betriebssystem API mache, aber das wäre halt doch ziemlich viel Aufwand, um alles so schön in Objekte zu packen, wies qextserialport prinzipiell ja tut.

    Also den Ansatz von qextserialport finde ich schon sehr gut, aber es ist schade, dass es seit Ewigkeiten nicht mehr wirklich weiterentwickelt wurde...

    Falls einer weitere Infos hat, gerne hier melden 🙂



  • Hi,
    ich weiß jetzt nicht, ob es das Richtige für Dich ist, aber ich habe einmal mittels dieses Treibers die parallele Schnittstelle unter win2k anprogrammiert. Mittels dieses Tools lässt sich der Schnittstellenspeicher (wieder) direkt anprogrammieren.

    Der Treiber nennt sich "userport.exe".
    Hier ne kleine Doku. Dort findest Du auch den Treiber-Download.

    Ist halt die Frage, an wen sich dein Programm richtet. Wenn es sich an versierte Leute richtet, ist der Treiber möglicherweise ein Lösung, da er gut funktioniert.

    Links:
    http://www.acumeninstruments.com/Support/documentation/SerialPortBasics/index.shtml
    http://www.lammertbies.nl/comm/info/de_RS-232_specs.html

    Schöne Grüße,
    m_power



  • wir haben ein ähnlichen Fall wirklich einfach und schnell mit der SuperCom Serial Library für Windows und SuperCom Serial Library für Linux gelöst. Ein API, gleiche Funktionen, für zwei Betriebssysteme. D.h. Windows und Linux Portierung nur durch compilierung. C und C++ Klassen enthalten. Kostet natürlich etwas. Bei Interesse siehe [www.adontec.com](Link Adresse).