Avatar billede jesperbaldur Nybegynder
20. maj 2004 - 12:52 Der er 1 kommentar og
1 løsning

Adskillelse af data som bliver sendt via RS232

Jeg har en ekstern enhed som sender nogle tal via rs232 over til min stationære computers com-port.  Tallene som overføres er højest 1 byte lang, dvs 0-255. Normalt ville jeg sende et komma eller lign mellem hvert tal for at adskille dem, men er det ikke muligt at adskille dem uden at bruge et tegn?
Jeg har tænkt på om det ikke var muligt at "fortælle" mit vb program, at når det har modtaget 8 bit, er den pågældende værdi overført, og et nyt tal starter med at blive sendt.
Avatar billede sjh Nybegynder
20. maj 2004 - 16:27 #1
Ved ikke lige hvordan det virker men sådan kan du gørre noget hver 8 gang

Public Sub Test8Click()
Static lngCount As Long
  lngCount = (lngCount + 1)
  If (lngCount Mod 8) = 0 Then
    ' Her sker der noget hver 8 click
    MsgBox lngCount
    ' Her sker der noget hver 8 click
    lngCount = 0
  End If
End Sub

Private Sub Command1_Click()
  Call Test8Click
End Sub
Avatar billede slumtiger Nybegynder
26. maj 2004 - 13:20 #2
Du anvender en MSComm1, ikke?

Sæt MSComm1.RThreshold=1, derved bliver MSComm1_oncomm trigget hver gang der modtages en byte (= 8 bit) på den serielle port.

Du kan eventuelt også sætte InputLen=1, så læser du kun en karakter ad gangen fra den serielle input-buffer.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester