Hirdetés
- Elalmásodik a Xiaomi: 100 wattos töltéssel érkezik a 16 Pro Max
- Nincs megállás akkuméretben
- One mobilszolgáltatások
- Hivatalos a One UI 8 frissítés közzététele
- Akciófigyelő: Megnyílt a Xiaomi hivatalos magyar webáruháza
- Samsung Galaxy S25 - végre van kicsi!
- Törik-e a Pixel Pro, mint a tavalyi Fold?
- Vivo X200 Pro - a kétszázát!
- Xiaomi 13 - felnőni nehéz
- Fotók, videók mobillal
-
Mobilarena
Új hozzászólás Aktív témák
-
aviator
tag
Sziasztok,
Soros vonalon érkező adatot szeretnék excel táblázatban felhasználni ebben kérnék segítséget.
Mivel még sosem dolgoztam ilyennel, nem akartam feltalálni a spanyol viaszt, ide vezetett a google: http://www.thescarms.com/vbasic/commio.aspx
Ez egy elég jól használható modul, jönnek is szépen az adatok. Egy 10 karakteres stringet kell beolvasnom, a problémám az, hogy nem mindig van meg a 10 karakter, illetve néha több van, tehát bizonytalan az olvasás. A csatolt kódban a Do Loop-ban történik meg a string kivétele a soros bufferből, csak ezek szerint nem mindig a jó pillanatban. Próbáltam rákényszeríteni, hogy csak a 10 karakter hosszú olvasás esetén menjen tovább az első if-nél, megcsinálja, de néha sokáig tart, meg hát nem érzem túl elegánsnak.
Kellene ide egy olyan megoldás, ami kiküszöböli ezt a problémát, de ha valakinek van működő kódja teljesen más alapokon az is tökéletes lenne.Private Sub CommandButton1_Click()
Dim intPortID As Integer ' Ex. 1, 2, 3, 4 for COM1 - COM4
Dim lngStatus As Long
Dim strError As String
Dim strData As String
intPortID = 3 'Using COM3
' Initialize Communications
lngStatus = CommOpen(intPortID, "COM" & CStr(intPortID), _
"baud=9600 parity=N data=8 stop=1")
If lngStatus <> 0 Then
' Handle error.
lngStatus = CommGetError(strError)
MsgBox "COM Error: " & strError
End If
lngStatus = CommSetLine(intPortID, LINE_RTS, True)
lngStatus = CommSetLine(intPortID, LINE_DTR, True)
' Read maximum of 64 bytes from serial port.
Do
lngStatus = CommRead(intPortID, strData, 64)
If lngStatus > 0 And (Len(strData) = 10) Then
TextBox1.Text = strData
TextBox2.Text = Len(strData)
Exit Do
End If
If lngStatus < 0 Then
lngStatus = CommGetError(strError)
MsgBox "COM Error: " & strError
Exit Do
End If
Loop
lngStatus = CommSetLine(intPortID, LINE_RTS, False)
lngStatus = CommSetLine(intPortID, LINE_DTR, False)
' Close communications.
Call CommClose(intPortID)
End Sub
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Autós topik
- Milyen billentyűzetet vegyek?
- Elalmásodik a Xiaomi: 100 wattos töltéssel érkezik a 16 Pro Max
- Nincs megállás akkuméretben
- Erősítő, hangfalak
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Vicces képek
- Chieftec játék értékes nyereményekkel!
- További aktív témák...
- Canon EF 300mm f/2.8L IS USM teleobjektív - Újszerű -
- EVGA 1080Ti SC2 11GB Ajándékokkal, Ingyenes szállítás!
- AMD Ryzen 7 5800X3D 8-Core 3.4GHz - Garancia 2026.10.17 - Ingyen posta
- ASUS ROG STRIX 1000W GOLD AURA EDITION - Garancia 2034.10.03
- ASUS ProArt GeForce RTX 4080 SUPER OC 16GB - Garancia 2027.10.03
- Gamer PC- Számítógép! Csere-Beszámítás! R9 3900X / RX 6700XT 12GB / 32GB DDR4 / 1TB SSD
- HIBÁTLAN iPhone 15 Pro 256GB Black Titanium -1 ÉV GARANCIA -Kártyafüggetlen, MS3224
- AKCIÓ! Apple MacBook Pro 16 M4 Max 36GB RAM 1TB SSD macbook garanciával hibátlan működéssel
- Felsőkategóriás merev csöves Gamer PC-Számítógép! I9 11900K / RTX 3090 24GB / 64GB DDR4 / 1TB SSD
- Lenovo ThinkPad T14 G1 Ryzen 5 PRO 4650U 24GB 1000GB 1 év garancia
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest