THidDataPort
THidDevice wordt gebruikt om met een
apparaat te communiceren. Via een THidData
array kan data naar het apparaat worden opgestuurd en ontvangen. Het THidData
array is echter niet altijd de meest geschikte vorm.
Met THidDataPort kan het 8 bytes lange datablok worden beschouwd als
- 8 bytes, met byte[ 0] als meest significante byte (het byte dat als eerste
wordt uitgeklokt of wordt ingelezen), en byte[ 7] als minst significante
byte (het byte dat als laatste wordt uitgeklokt of wordt ingelezen)
- 4 short (16-bits) integers, met ShortInteger[ 0] als meest significant, en
ShortInteger[ 3] als minst significant
- 2 long (32-bits) integers, met LongInteger[ 0] als meest significant, en
LongInteger[ 1] als minst significant
- 1 Int64, een 64-bits integer
- 64 bits (Booleans), met bit[ 63] als meest significant bit, en bit[ 0] als
minst significant bit
Een eenvoudig voorbeeld maakt het gebruik van dit component snel duidelijk. U kunt
een voorbeeld project hier downloaden, en een
ander voorbeeld hier.
Properties
HidDevice: THidDevice
Dit is een verwijzing naar het THidDevice
component waaraan THidDataPort is gekoppeld.
AsInt64: Int64
Gebruik AsInt64 als de data als een 64-bits integer beschouwd moet worden.
AsLongInt[ Index: Integer]
Gebruik AsLongInt als de data als twee 32-bits integers beschouwd moet
worden. AsLongInt[ 0] is het meest significant, en AsLongInt[ 1] het minst.
AsShortInt[ Index: Integer]
Gebruik AsShortInt als de data als vier 16-bits integers beschouwd moet
worden. AsShortInt[ 0] is het meest significant, en AsShortInt[ 3] het minst.
AsByte[ Index: Integer]
Gebruik AsByte als de data als acht bytes beschouwd moet worden. AsByte[ 0]
is het meest significant, en AsByte[ 7] het minst.
AsBit[ Index: Integer]
Gebruik AsBit als de data als 64 losse bits beschouwd moet worden. AsBit[
63] is het meest significant, en AsBit[ 0] het minst.
AcceptUSBData: Boolean
Een THidDataPort component wordt gekoppeld met een THidDevice
component. Als op dit THidDevice component data binnenkomt vanuit de USB bus,
wordt de data in het THidDataPort component hiermee aangepast. Met de
bovengenoemde properties van het THidDataPort component kan deze data verder
verwerkt worden. Echter, als er data klaargezet moet worden om later met een
THidDataPort.SendData procedure te worden verstuurd, kan het zijn dat de data
die later verstuurd moet gaan worden ondertussen wordt overschreven door data
die net vers binnenkomt. Om dit te voorkomen, kunnen op één THidDevice
component, twee THidDataPort componenten worden aangesloten. Het ene
THidDataPort component wordt dan gebruikt om data van het USB apparaat te
ontvangen, en het andere wordt gebruikt om data naar het USB apparaat toe te
sturen. Bij dit laatste THidDataPort component kan AcceptUSBData op FALSE
gezet worden. Als AcceptUSBData op FALSE wordt gezet, zal het betreffende
THidDataPort component niet reageren op data die via USB binnenkomt.
Methods
SendData
Met deze procedure wordt de data uit THidDataPort verstuurd via het THidDevice
waarop THidDataPort is aangesloten. Als het niet lukt om de data te versturen,
of als THidDataPort niet op een THidDevice is aangesloten, wordt een USBException
gegenereerd.
Events
OnHidData: TNotifyEvent
Dit event wordt gegenereerd wanneer het apparaat waaraan THidDataPort (via THidDevice)
is aangesloten, data naar de PC gestuurd heeft, en deze data door THidDataPort
werd ontvangen. Met de bovengenoemde properties van het THidDataPort component
kan deze data verder verwerkt worden.
|