Seite 1 von 1

WriteSerialPortData

Verfasst: 28.07.2012 08:54
von FalsifyTheWorld
Hallo erst einmal!

Ich versuche jetzt schon seit einer weile den Com port über PureBasic an zu sprechen!
leider klapt da nichts!
also ich versuche lediglich 2 Byte zu schicken, ($1B und $03) hiernach sollte ein Industrie Drucker eigendlich einen Neustart machen.
wenn ich das über einen Hyperterminal schicke klapt das auch, nur über PureBasic leider nicht!
Bin absolut Verzweifelt!
Der Code schrumpfte immer weiter zusammen!

Code:

Code: Alles auswählen

OpenSerialPort(1,"COM2",9600,#PB_SerialPort_NoParity,8,1,#PB_SerialPort_NoHandshake,1024,1024) 
Delay(170)
;Define.s b
;If IsSerialPort(1)
;  SetSerialPortStatus(1, #PB_SerialPort_RTS, 1)
  
;  Debug "is da"
;EndIf
;b=" S001 DAS "
;Debug b
;Debug AvailableSerialPortOutput(1)

WriteSerialPortData(1,27,1)
Delay(150)
WriteSerialPortData(1,3,1)

Währe für eure Hilfe sehr Dankbar!

feiertage

__________________________________________________
Code-Tags hinzugefügt
28.07.2012
RSBasic

Re: WriteSerialPortData

Verfasst: 28.07.2012 10:33
von ts-soft

Code: Alles auswählen

Define bytes, *mem = AllocateMemory(2)
If *mem
  PokeA(*mem, 27)
  PokeA(*mem + 1, 3)
  If OpenSerialPort(1, "COM2", 9600, #PB_SerialPort_NoParity, 8, 1, #PB_SerialPort_NoHandshake, 1024, 1024)
    bytes = WriteSerialPortData(1, *mem, 2)
    Debug Str(bytes) + " Bytes geschrieben"
  Else
    Debug "Konnte Port nicht öffnen"
  EndIf
  FreeMemory(*mem)
Else
  Debug "Nicht genug Speicher ;)"
EndIf
Könnte man auch mit einer Word-Variable lösen, aber so ist es universeller für Dich, hoffe ich mal.

Gruß
Thomas