USB -> RS232 probléma

USB -> RS232 probléma
2007-01-25T17:29:27+01:00
2007-07-28T01:04:15+02:00
2022-11-05T08:50:40+01:00
.joe007
Sziasztok!

Még régebben írtam egy olyan programot, amely a soros porton keresztül kommunikál egy hardvermodulokat összekötő kommunikációs adapterrel. A progi lényege az, hogy információkat kér ezektől a hardvermoduloktól, és azokat megjeleníti táblázatos formában. A moduloknak a progi egy 3 bájtos kérést küld, amire egy 6 bájtos választ kap. A probléma az, hogy a program a Com portokra dugva működik, ha USB->soros átalakítót használok, akkor pedig nem működik. A kérést elküldi, és a válasz is megérkezik a programban, de nem egyszerre, hanem darabokban. Egyszer a 6 bájt egyesével jön, máskor 1-2-3 vagy 1-4-1 vagy 1-1-1-2-1 kombinációban. Végigolvastam itt a prog.hu a kapcsolodó témákat és többen azt írták, hogy biztos az átlakítóval, vagy a driverével van a baj, én is ebben reménykedtem, de úgy néz ki nem. Egy Port Sniffer progival figyeltem a kommunikációt, és az ugyanúgy nézett ki, mint átalakító nélkül (3 bájtos kérésre azonnali 6 bájtos válasz, és mindez nem darabokban) :

Request: 2007.01.25. 16:22:06.80464 (+1.0313 seconds)

01 CB 0D

Answer: 2007.01.25. 16:22:06.10164 (+0.2969 seconds)

01 7D 7D 48 00 0D

Request: 2007.01.25. 16:22:08.47664 (+2.3594 seconds)

01 CB 0D

Answer: 2007.01.25. 16:22:09.75764 (+0.2813 seconds)

01 7C 7D 49 00 0D


Kipróbáltam Hyper Terminallal is, hogy szöveges fájlként küldtem el a 3 bájtos kérést, és rendesen meg is kaptam egyben a választ, nem pedig darabokban. Viszont a programban még mindig darabokban jön meg a válasz.
Kipróbáltam minden lehetséges beállításkombinációt, hátha az segít, de nem jutotttam vele semmire. Ehhez az egészhez a TComPortot használom. Letöltöttem a sourceforge.net -ről a TurboPower Async Professional (TPapro) csomagot, és kipróbáltam a TAtdComPort komponenst is, de az is ugyanazt az eredményt produkálta.
Szóval nem tudom mi lehet a baj, mert semmit nem változtattam meg, a válasz méshol jól jelenik meg, csak az én programomban jön darabokban.
Ha tudtok, akkor légyszíves segítsetek. Köszönöm!
Mutasd a teljes hozzászólást!
Márpedig minden bizonnyal az USB-RS232 átalakítód lehet a bűnös. Anno én is szenvedtem vele, ugyanis épp azzal a driverrel nem volt hajlandó tisztességesen működni, amit adtak hozzá (ez már csak így van). Guglin vadászva találtam végül 3-4 próbálkozás után olyan drivert, amellyel azóta kifogástalanul megy. Már nem emlékszem, honnan töltöttem le, illetve melyik lett végül jó, talán innen:
USB-Serial Controller Driver Download (RS-232) - Martins altes Forum zu PC-Tipps, Software, Download
De megvan letöltve is, ha gondolod szívesen elküldöm.
Üdv:
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd