also ich habe ein gerät an nem 485 bus dass ich per printbin ein paar kommandos schicke, das funzt einwandfrei.
das gerät empfängt die befehle und zeigt es auf dem display an.

nun schickt das gerät antworten, die ich jetzt einlesen will, es klappt aber nicht.
(ich kann das ganze mit dem pc testen, da funzt alles über ein terminal programm)

also die antwort auf ein kommando ist z.b. 200 1 0 254 201

(kurze erklärung: 200 ist das startbyte, dann kommt die gerät-id, dann errorcode 0, dann checksum, dann 201 als endbyte
ich will die werte jetzt einfach in variablen einlesen, und versuche das gerade so:


Code:
Config Serialin = Buffered , Size = 64 

...

Do



  Wait 3                                                   
 
  Call Transmit_101                       'command get start parameters senden

    If Ischarwaiting() = 1 Then
       Call Receive_101                   'sub receive_101 soll empfangen
    End If

  
    'Loop
  'End If

  .......
 
Loop


Sub Receive_101
  Reset Portc.0      'hier nochmal den rs485 auf empfangen schalten
  Startcom = 0
  Do
    Inputbin Startcom

  Loop Until Startcom = 200

  ...

end sub


beim senden checke ich ob alle daten gesendet wurden mit dem txc flag und schalte den 485 wieder auf empfangen ... geht prima.


problem ist beim empfangen auch wenn ich ischarwaiting weglasse geht gar nix.
kann es sein dass er sich bei inputbin irgendwie aufhängt ?

das gerät antwortet innerhalb von 10ms, deshalb dachte ich mir mit ischarwaiting wartet er bis daten kommen, dann in der sub prüft er ob das byte 200 empfangen wird, das ist dann der erste wert, danach die anderen einlesen....


?????????


buhuuuuu