Jag vill läsa av om och då det kommer någon data på serieporten. Använder "com verktyget" men ser att processorn arbetar ca 98% så länge VB6 och programmet körs och det verkar ju inte helt bra. En gissning är att du har tittat på exemplen som finns i dokumentationen och som lägger sig och loopar hela tiden. Strunta i det sättet och kolla på eventet OnComm och läs data där Hej! Hej Anders! Minsta möjliga förändingen. Lägg koden i en timmer istället och sätt intervallet på sådär 200 eller nåt: Hej Andreas!Hur läsa av serieporten?
Mao har jag väl kodat fel och hoppas att någon av er kan tala om hur det bör se ut istället.
Problemet ligger alltså så länge man bara ska passa ev inkommande på porten.
PontusSv: Hur läsa av serieporten?
Sv: Hur läsa av serieporten?
Har du nåt exempel på hur jag kan använda onComm?
Jag testade med exemplet i VB men hittills har jag inte fått det att fungera alls.
Det jag vill göra är en nummerpresentatör för datorn. Det finns ju redan färdiga sådana som fungerar bra så min hårdvara verkar ok.
PontusSv: Hur läsa av serieporten?
Mycket till kod har jag inte än men gjorde så här till att början.
Do
dummy = DoEvents()
If comTeledata.InBufferCount Then
A = comTeledata.Input
Data = Data + A
End If
Loop Until A = "C"
Nu är det väl just loopen som tar mycket datakraft.
Har fått tips om eventet onComm (se annat inlägg) men jag vet inte riktigt hur jag ska få till det.
PontusSv: Hur läsa av serieporten?
If comTeledata.InBufferCount Then
A = comTeledata.Input
Data = Data + A
End If
Du måste sätta RThreshold > 0 för att aktivera OnComm eventet. När den mottagit antal bytes som är angivet i RThreshold. Triggras OnComm eventet. Bättre sätt en timmer och loop...Sv: Hur läsa av serieporten?
Jag testade ditt förslag med timer och även det med onComm. Både fungerar bra!
Kommer nog använda det senare tror jag.
Tack för hjälpen!
Pontus