Hirdetés
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- ldave: New Game Blitz - 2025
- gban: Ingyen kellene, de tegnapra
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Elektromos rásegítésű kerékpárok
- hcl: Kelj fel komám, ne aludjál
- Luck Dragon: Asszociációs játék. :)
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Geri Bátyó: Agglegénykonyha 3 – Paradicsomos káposzta (amit amúgy utálok)
-
LOGOUT
Ú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!
- BestBuy topik
- Energiaital topic
- Milyen autót vegyek?
- Poco F7 Pro - jó, de az amatőr sem rossz
- AMD Navi Radeon™ RX 9xxx sorozat
- Milyen videókártyát?
- Fejhallgató erősítő és DAC topik
- OLED TV topic
- Hisense LCD és LED TV-k
- Mikrokontrollerek Arduino környezetben (programozás, építés, tippek)
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 16/32/64GB RAM RX 9060 XT 8GB GAMER PC termékbeszámítással
- KIÁRUSÍTÁS - HP Elite / ZBook Thunderbolt 3 docking station (akár 2x4K felbontás)
- Gamer PC-Számítógép! Csere-Beszámítás! I7 6700K / RTX 2060 6GB / 32GB DDR4 / 500 SSD
- BESZÁMÍTÁS! ASUS B550 Vision D B550 chipset alaplap garanciával hibátlan működéssel
- Telefon felvásárlás!! iPhone 12 Mini/iPhone 12/iPhone 12 Pro/iPhone 12 Pro Max
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest