jeg har købt et byggesæt med 32 udgange og 24 indagnge jeg skal i den forbindelse sende 3-4 byte til den og får så 1-4 byte retur. jeg kan bare ikke få det til at virke, jeg har prøvet at bruge Mscomm control men jeg aner ikke om der kommer noget frem til seriel kortet (der kommer ikke noget retur) demo programmet der følger med virker fint både ind og ud. bytes'ne jeg skal sende starter med 0xAA 0xAA derefter 0x01 0xFF Det kan have noget at gøre med at jeg ikke er helt stiv i vb og comporte :-) jeg aner ikke hvad der der mere skal bruges for at kunne gennemskue mit problem
Public vBuffer As Variant Public vResponse As Variant
Public Sub Receive()
fRouterComMain.tmrComOut.Enabled = True Do Parse fRouterComMain.oComPort.Input DoEvents Loop Until fRouterComMain.oComPort.InBufferCount = 0 And tmrComOut.Enabled = False
End Sub
Public Sub Parse(ByVal vTmpBuffer As Variant)
Dim vWritBuffer As Variant Dim iChCnt As Integer Dim sCh As String
vBuffer = vBuffer & vTmpBuffer
For iChCnt = 1 To Len(vBuffer) sCh = Mid(vBuffer, iChCnt, 1) vWritBuffer = vWritBuffer & sCh
If sCh = Chr(10) Then
fRouterComMain.lsComReceive.AddItem vWritBuffer
Save vWritBuffer 'Her får du outputtet
If fRouterComMain.tmrCmdOut.Enabled Then vResponse = vResponse & vWritBuffer & "|" fRouterComMain.tmrCmdOut.Enabled = True End If vWritBuffer = "" ScrollDown
jeg har nu prøvet at køre dit eksempel jeg må så indrømme at jeg har ikke anelse hvad der foregår ;-) så meget styr har jeg ikke på det ;-) hvad mere skal der bruges for at få det til at virke ??
AA i hex er lig med 170 fordi : A (hex) = 10 (dec) altså 10 * 16^0 + 10 * 16^1 = 16 * 10 + 1 * 10 = 160 + 10 = 170
Hvis du skal sende AA i een byte kan du feks. sende chr$(170).
Mht fejlen : Du HAR trukket en Comm Comtrol ind i dein form Ikk'. Hvilken fejl får du ??
Synes godt om
Ny brugerNybegynder
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.