Hei kiitos hyvästä palvelusta.
Minulla oli pieni ongelma VB6:n sarjalikenteessä.
Se ei toiminut lainkaan, vaikka Laitehallinta näytti ihan toimivaa porttia.
Mietin miten VB6:n sarjaliikenne ei voi toimia?
Olen tehnyt noita sarjaliikenne juttuja VB6:lla jo ainakin 30 vuotta, mutta tällä viikolla tein uuden USB:lla toimivan prosessoriyksikön (PIC18F57J50) siinä on yksi normaali sarjaliikenne nasta tai nastat, mutta siihen ei ole mitään kiinnitelly.
Se USB sarjaliikenne ei tullut PC:lle, josta tuli myös sähkö tuolle testi piirilevylle.
Siinä oli toinen USB:n kayttä toimiva sarjaliikenne.
Lopulta sain tuon sarjaliikenteen toimimaan USB:llä ja heti laitoin sen myös omaan Term-ohjelmaani. Se on minulla ollut varmaankin 20 vuotta, mutta joka vuosi siihen tulee pieniä parannuksia.
En laita sitä Term ohjelmaa tähän, mutta täydellisen sarjaliikenneohjelman.
' USB serial toimii 4.3.2024 Pekka Ritamäki
Private Sub Form_Load()
Form1.Caption = "USB Serial Probyte"
With MSComm1
.Handshaking = 2 - comRTS
.RThreshold = 1
.RTSEnable = True
'.Settings = "9600,n,8,1" jos USB on kysmyksessä kaikki nopeudet toimivat!
.Settings = "115200,n,8,1"
.SThreshold = 1
.PortOpen = True
' Jätä kaikki muut asetukset delfauktiksi .
End With
Text1.text = ""
End Sub
Private Sub Form_Unload(Cancel As Integer)
MSComm1.PortOpen = False
End Sub
Private Sub MSComm1_OnComm()
Dim InBuff As String
Dim text As String
Select Case MSComm1.CommEvent
' Käsittele jokainen tapahtuma tai virhe sijoittamalla
' koodi kunkin tapauslausekkeen alla.
Case comEventBreak ' Tauko vastaanotettiin
Case comEventCDTO ' CD (RLSD) -aikakatkais
Case comEventCTSTO ' CTS-aikakatkais
Case comEventDSRTO ' DSR-aikakatkaisu
Case comEventFrame ' Kehysvirhe
Case comEventOverrun ' Tiedot menetetty
Case comEventRxOver ' Receive buffer overflow.
Case comEventRxParity 'Vastaanota puskurin ylivuoto.
Case comEventTxFull ' Lähetyspuskuri täynnä.
Case comEventDCB 'Odottamaton virhe noudettaessa DCB]
' Tapahtumat
Case comEvCD ' Muutos CD-linjassa.
Case comEvCTS ' Muutos CTS-linjassa.
Case comEvDSR ' Muutos DSR-linjassa.
Case comEvRing ' Muutos Ring Indikaattorissa
Case comEvReceive ' Vastaanotettu Rthreshold # merkkiä
InBuff = MSComm1.Input
Call HandleInput(InBuff)
Case comEvSend ' On SThreshold määrä
' merkkiä lähetyspuskurissa.
Case comEvEOF 'EOF-merkki löytyi
' jonosta.
End Select
End Sub
Sub HandleInput(InBuff As String)
' Tämä käsittelee merkkidatasi. Tämä
' sisältää kiinnitysmerkkejä, jäsennysmerkkijonoja,
' tietokenttien erottaminen jne. Tässä tapauksessa sinä
' vain näyttävät tiedot TextBoxissa..
Text1.SelStart = Len(Text1.text)
Text1.SelText = InBuff
End SubMikäs siinä sitten oli alunperin ongelmana, kun se ei toiminut?
Aihe on jo aika vanha, joten et voi enää vastata siihen.