Portál AbcLinuxu, 12. května 2025 06:54
pro komunikaci přes sériovou linku si napsat knihovnu v C a obalit ji třídou v C#Není to tak trochu šílené a úplně zbytečné? Proč to v C/C++ neudělat rovnou celé a nedělat z toho zbytečně komplikovaný bloatware.
Doporucit bych pouzit Qt4 hned z nekolika duvodu. Hlavni je prenositelnost kodu. K tomu se vyviji soucasne nekolik multiplatformnich IDE (QDevelop, Monkey Studio, Edyuk, ...), ktere sice zatim nedosahuji kvalit KDevelopu, ale to vetsinou ani neni jejich cilem. Dalsim plusem je dokumentace, o ktere se tu uz psalo.
Co se tyce podpory serioveho portu, Trolltech nachystal tridu QIODevice
, na ktere je mozno vystavit vlastni jakoze "ovladac". Nekde jsem se docetl, ze Trolltech umyslne neimplementoval podporu pro pristup k HW portum, protoze na ne-windows strojich je pristup k temto zarizenim defaultne zakazan nebo je minimalne podminen clenstvim prihlaseneho uzivatele ve specialni skupine (na linuxu napr. uucp
).
Pokud bys mel zajem, mohu poskytnout prvni verzi vlastni implementace tridy pro praci se seriovym portem v Qt4 aplikaci. Je otestovana na linuxu (gentoo) a windows XP (mac nemam k dispozici).
Znacne jsem se inspiroval projektem SynaSer urcenym pro Delphi/Kylix. Narozdil od SynaSer zatim nejsou podporovany jine linky nez RxD, TxD, DSR a RTS cili nejde pouzit pro plnohodnotnou komunikaci s modemy, ale pro vetsinu zarizeni postacuje...
BTW, mono
jsem se snazil v minulosti pouzit nekolikrat, ale vzdy jsem narazil na spoustu prekazek, ktere jinde nebyly. Proto jsem zkusil Qt4, ktere pouzivam k plne spokojenosti uz nejaky ten patek.
Vsechny "komponenty" pro pristup k (nejen seriovemu) portu, do kterych jsem mel moznost nahlednout, neumely uzivatele upozornit nejakou udalosti na prichod dat.
On k tomu ani neni duvod, kdyz vetsinou komunikaci ridi PC, ktery odesle "prikaz", pocka nejakou dobu na odpoved a tim komunikace konci.
Pokud chces napr. jen logovat prichozi data, ktera na lince behaji neustale, nezbude ti asi nic jineho, nez je pomoci casovace periodicky vycitat. V takovem pripade vetsinou nevadi mensi prodleva (bezne desetiny az jednotky sekund) mezi prichodem a zobrazenim/ulozenim dat...
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.