IO-Warrior unter PureBasic

Dies ist das deutsche Forum für alle Themen um den IO-Warrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

Post Reply
EDI
Posts: 2
Joined: Thu Oct 22, 2009 7:50 pm
Location: Berlin

IO-Warrior unter PureBasic

Post by EDI »

Hallo,

ich versuche verzweifelt meine neue RK10-USB Relaiskarte (enthält den IOW24) in PureBasic anzusteuern.

Code: Select all

Import "iowkit.lib"
  IowKitOpenDevice() As "_IowKitOpenDevice@0"
  IowKitCloseDevice(devHandle.i) As "_IowKitCloseDevice@4"
  IowKitGetNumDevs() As "_IowKitGetNumDevs@4"
  IowKitGetDeviceHandle(devHandle.i) As "_IowKitGetDeviceHandle@4"
  IowKitRead(devHandle.i, numPipe.l, buffer.l, length.l) As "_IowKitRead@16"
  IowKitWrite(devHandle.i, numPipe.l, buffer.l, length.l) As "_IowKitWrite@16"
  IowKitGetProductId(ioHandle) As "_IowKitGetProductId@4"
  IowKitGetRevision(ioHandle) As "_IowKitGetRevision@4"
  IowKitGetSerialNumber(ioHandle, Serial.s) As "_IowKitGetSerialNumber@8"
  IowKitReadImmediate(ioHandle,buffer.s) As "_IowKitReadImmediate@8"
EndImport

IowKitOpenDevice()
ioHandle = IowKitGetDeviceHandle(1) 

numPipe = 0
length = 3

buffer.s = "11111111"
  
IowKitWrite(ioHandle, numPipe,@buffer.s,length)

IowKitCloseDevice(iohandle)
wenn ich die variable bufferer.s leer lasse, werden alle Relais geschaltet.
Wie muss diese variable aussehen ?


gruß, Edi

(ja ich bin Anfänger :-) )
Guido Körber
Site Admin
Posts: 2879
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: IO-Warrior unter PureBasic

Post by Guido Körber »

Im ersten Byte muss immer eine Null stehen, der Status für die Ports kommt im zweiten und dritten Byte. Da ich PureBasic nicht kenne weiss ich nicht was Buffer.s für ein Datentyp ist und wie man entsprechend das zweite und dritte Byte setzt.
EDI
Posts: 2
Joined: Thu Oct 22, 2009 7:50 pm
Location: Berlin

Re: IO-Warrior unter PureBasic

Post by EDI »

Hallo,


vielen, vielen dank .-)

jetzt habe ich es geschafft mit...

Code: Select all

Import "iowkit.lib"
  IowKitOpenDevice() As "_IowKitOpenDevice@0"
  IowKitCloseDevice(devHandle.i) As "_IowKitCloseDevice@4"
  IowKitGetNumDevs() As "_IowKitGetNumDevs@4"
  IowKitGetDeviceHandle(devHandle.i) As "_IowKitGetDeviceHandle@4"
  IowKitRead(devHandle.i, numPipe.l, buffer.l, length.l) As "_IowKitRead@16"
  IowKitWrite(devHandle.i, numPipe.l, buffer.l, length.l) As "_IowKitWrite@16"
  IowKitGetProductId(ioHandle) As "_IowKitGetProductId@4"
  IowKitGetRevision(ioHandle) As "_IowKitGetRevision@4"
  IowKitGetSerialNumber(ioHandle, Serial.s) As "_IowKitGetSerialNumber@8"
  IowKitReadImmediate(ioHandle,buffer.s) As "_IowKitReadImmediate@8"
EndImport

IowKitOpenDevice()
ioHandle = IowKitGetDeviceHandle(1) 

numPipe = 0
length = 3

Structure bufferByte
   buffer1.c
   buffer2.c 
   buffer3.c
EndStructure

Define.bufferByte buffer

buffer\buffer1 = 000
buffer\buffer2 = 255
buffer\buffer3 = 255

IowKitWrite(ioHandle, numPipe,buffer,length)
IowKitCloseDevice(iohandle)

End
gruß, Eric
Post Reply