WriteSerialPortData

Anfängerfragen zum Programmieren mit PureBasic.
FalsifyTheWorld
Beiträge: 1
Registriert: 28.07.2012 08:24
Kontaktdaten:

WriteSerialPortData

Beitrag 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
Zuletzt geändert von FalsifyTheWorld am 02.08.2012 03:32, insgesamt 1-mal geändert.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: WriteSerialPortData

Beitrag 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
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten