- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Milyen billentyűzetet vegyek?
- ZIDOO médialejátszók
- OLED monitor topik
- Elképesztően drága az új Ryzen Threadripper PRO generáció
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- VR topik
- Amlogic S905, S912 processzoros készülékek
- Házimozi belépő szinten
- Milyen asztali (teljes vagy fél-) gépet vegyek?
Új hozzászólás Aktív témák
-
Onishi
tag
Sziasztok!
Előre is bocs a kisregényért.
Visual Basic Script-ben történő soros port kezeléssel kapcsolatos problémába ütköztem. Hátha van köztetek olyan aki jártas ebben.
Egy fényújságot kellene vezérelnem, amin állandóan változó adatokat kellene megjelenítenem. A scripttel amit írtam, 5-20 másodperc közötti időtartamonként küldök ki új szöveget rá.
2 problémába ütköztem:1.) A script ilyen szempontból jól működik, küldi is az adatokat szépen, de van amikor egyszercsak meghülyül a soros port kezelés és elkezdi megállás nélkül ontani magából a teljesen értelmetlen adatokat (többnyire csak 0-ákat, de van hogy random karaktereket), amiket a scriptben biztos, hogy nem generálok, és olyan sebességgel történik mindez, amit szintén nem küldök a scriptből, hiszen azt másodpercenként hívom meg, de mint már említettem leggyorsabb kiküldés is minimum 5 másodpercenként van. Szóval valami behülyül, és ezt csak úgy tudom megfékezni, hogy leállítom a scriptet és a soros drivert is újraindítom (soros-ethernet átalakító van a pc és fényújság között). Gondoltam az utóbbira is, hogy annak van valami baja, de a gép saját soros portján küldve az adatokat szintén előjön a hibajelenség.
2.) Ha a fényújságot tegyük fel áramtalanítják, vagy nem elérhető, attól még a script küldi az adakat, ami telíti a buffert, majd ha a fényújságot visszakapcsolják, akkor az összegyűlt adatokat elkezdi kiküldeni megállás nélkül, amit a fényújság nem tud értelmezni és meghülyül tőle. Erre valószínű jó lenne az OutBufferCount = 0 parancs, de ez csak MSCOMM32-vel működne, de azt nem tudom használni VBScript alól, mert licenszet kér. Helyette az ingyenesen letölthető NetCommOCX-et használom, de az nem tudja ezt a parancsot, vagy legalábbis nem működik.
Bemásolom a soros port kezelés részt a scriptből:
Set objComport = CreateObject("NETCommOCX.NETComm")
objComport.CommPort = 2
objComport.Settings = "9600,N,8,N"
objComport.PortOpen = True
objComport.OutBufferCount = 0
objComport.Output = Chr(21)
objComport.Output = Chr(18)
objComport.Output = Chr(5)
'Küldendő szöveg:
objComport.Output = fenyero + out + kifutas
'Lezárás:
objComport.Output = Chr(254)
objComport.Output = Chr(lezaras)
objComport.PortOpen = FalseElőször a sima OpenTextFile-eljárással próbálkoztam, de az állandóan átállítja a soros portot 1200baud-ra, holott nekem 9600 kellene. MSCOMM32 nem működik, így marad a NetCommOCX verzió. Mást eljárást nem találtam.
Esetleg valaki belefutott már ilyen problémákba? Van esetleg valamilyen tippetek?
Előre is köszönöm.
Új hozzászólás Aktív témák
- Nyaralás topik
- Luck Dragon: Asszociációs játék. :)
- Vicces képek
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Ford topik
- One mobilszolgáltatások
- Samsung Galaxy Watch4 és Watch4 Classic - próbawearzió
- Feltörték a PROHARDVER!-es regisztrációmat (vagy elvesztettem a belépési emailcímet, 2FA-t)
- Vékonyabb lett, jobb kamerát kapott, de az akku maradt a régi: itt a Fold7
- Zelda Játékok
- További aktív témák...
- ÁRGARANCIA! Épített KomPhone i5 14400F 16/32/64GB RAM RX 9060 XT 16GB GAMER PC termékbeszámítással
- AKCIÓ! 6TB Seagate SkyHawk SATA HDD meghajtó garanciával hibátlan működéssel
- Csere-Beszámítás! RGB Számítógép PC játékra! R5 5600X / RTX 3060Ti 8GB / 32GB DDR4 / 500GB SSD
- BESZÁMÍTÁS! GIGABYTE AORUS ELITE Z790 i7 14700K 64GB DDR5 1TB SSD 7900XTX 24GB be quiet! SB802 1000W
- billentyűzetek - kiárusítás - Logitech, Corsair, ASUS
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest