19. april 2004 - 13:27Der er
4 kommentarer og 1 løsning
Com kommunikation med mscomm32.ocx
Hej Eksperter, Jeg er ved at lave en applikation som skal kommunikere med en "slags" måle instrument. Hvis jeg forbinder med hyperterminal kan jeg fint få kontakt med instrumentet men hvis jeg benytter mscomm32.ocx kontrollen får jeg ingen kontakt overhovedet. Har nu prøvet at bruge en anden computer og her får jeg fint kontakt med instrumentet fra min kode? Er der nogle specielle ting der skal tages højde for når man bruger mscomm32.ocx? Det skal lige siges at begge computere køre win 2k med visualbasic 6.0 installeret.
Hvorledes kommer datastrømmen fra måle instrumenterne.
Option Explicit
Dim COMBuf1 As String 'COM-buffer 1 - buffer med modtagne data Dim COMBuf2 As String 'COM-buffer 2 - buffer med modtagne data
Private Sub Form_Load() MSComm1.CommPort = 1 'set COM-port MSComm1.Settings = "19200,n,8,1" 'set COM-parametre MSComm1.InputMode = comInputModeText 'alm. tekst modtages MSComm1.RThreshold = 1 'interrupt for hver 1 karakter der modtages MSComm1.PortOpen = True 'åbn COM-port
' MSComm2.CommPort = 4 'set COM-port ' MSComm2.Settings = "19200,n,8,1" 'set COM-parametre ' MSComm2.InputMode = comInputModeText 'alm. tekst modtages ' MSComm2.RThreshold = 1 'interrupt for hver 1 karakter der modtages ' MSComm2.PortOpen = True 'åbn COM-port End Sub
'COM port 1 'Denne rutine er en interrupt rutine der kaldes når der modtages én karakter 'på COM-porten. Rutinen henter karakteren og placerer den i en buffer. Private Sub MSComm1_OnComm() Dim COMInput
If MSComm1.CommEvent = comEvReceive Then 'interrupt når karakter modtages COMInput = MSComm1.Input 'hent karakter fra receive buffer COMBuf1 = COMBuf1 + COMInput 'kopier til receive buffer 'If COMInput = "#" Then 'led efter exit karakter (#) Text1.Text = "MSComm1 - I got you - you little %#&(!!" + vbCrLf + COMBuf1 'End If End If End Sub
Du skal vel også huske MSComm1.InputMode = comInputModeText 'alm. tekst modtages
Prøv dette If MSComm1.CommEvent = comEvReceive Then strResult = strResult & MSComm1.Input Debug.Print "Result: " & strResult txtResult.Text = strResult end if
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.