Online Development Notebook > Index > Programming Overview > Device Commands > StrobeRead2

StrobeRead2 - Read 8 bits from a port and strobe a control line

VERSION 1.34+ of the firmware, VERSION 42+ of the DLL


StrobeRead with strobe pulse length.

Command Syntax: (USBm.dll)

USBm_StrobeRead2( device, dataarray, port, sel, len )

The USBm_StrobeRead2 function syntax has these parts:

Part Description
device A zero-based index to address the appropriate USB device.
dataarray A byte array where the returned data will be stored. Minimum size of the array must be 1 byte
port The port for the byte read. A value of 00h is port A, a value of 01h is port B.
sel The strobe direction and the strobe line selection.
len The strobe length.
del The delay between multiple bytes. VERSION 1.46+ of the firmware, VERSION 56+ of the DLL


Same as StrobeRead, but "len" is the strobe length from about 10 microseconds to about 200 microseconds. The value of "del" is the delay between bytes.

VB Declaration

Public Declare Function USBm_StrobeRead2 _
    Lib "USBm.dll" _
        (ByVal device As Byte, _
        ByRef dataarray As Byte, _
        ByVal port As Byte, _
        ByVal sel As Byte, _
        ByVal len As Byte) _
        ByVal del As Byte) _
   As Integer

VB Example

Dim dataarray(1) As Byte
    USBm_StrobeRead2 1, dataarray(0), 0, &H0F, 20, 40

The "20" selects a longer strobe pulse, th 40 is a greater delay between bytes.

C Prototype

int USBm_StrobeRead2( unsigned char device, unsigned char *data, unsigned char port, unsigned char sel, unsigned char len, unsigned char del );

C Example



Raw Command  Format:

Byte Number Description
0 0Ch: StrobeReadCmd
1 <not used>
2 Port to write data
3 Negative⁄Positive strobe selection and strobe line selection
4 Strobe pulse length VERSION 1.38+ of the firmware
5 <not used>
6 <not used>
7 <not used>

Raw Command  Format Details:

Byte 0 contains the command. Byte 1 is not used. Byte 2 indicates the port to write the byte. A value of 00h is port A, a value of 01h is port B.

Byte 3 contains the strobe direction and the strobe line selection.

Byte 4 contains a delay to lengthen the strobe. Valid values from 00h - FFh (0 - 255).

Byte 5 through byte 7 are unused.

Bit⁄Line Selection

Byte Value Result   Byte Value Result
00h Affect A.0   08h Affect B.0
01h Affect A.1   09h Affect B.1
02h Affect A.2   0Ah Affect B.2
03h Affect A.3   0Bh Affect B.3
04h Affect A.4   0Ch Affect B.4
05h Affect A.5   0Dh Affect B.5
06h Affect A.6   0Eh Affect B.6
07h Affect A.7   0Fh Affect B.7

With Byte 3 set to the Bit⁄Line Selection values, the strobe is negative-going. By adding 10h to this value, the strobe will be positive-going. For example: 18h would pulse B.0 from low to high, and back low.

Raw Command Response Format:

Byte Number Description
0 0Ch: StrobeReadCmd
1 Byte value read
2 <not used>
3 <not used>
4 <not used>
5 <not used>
6 <not used>
7 <not used>

Raw Command Response Format Details:

Byte 0 contains the command. Byte 1 contains the value read. Byte 2 through byte 7 are unused.

Raw Command Example Usage:

If a device is connected to the U4xx that will send a byte of data to port A when B.7 is toggled from high to low and back to high, then the following commands would read this device.

First set the B.7 line high with a SetBitCmd command: 07-0F-00-00-00-00-00-00 The line is set high to begin with because the strobe commands do not initialize the state or direction of the line. (B.7 needs to be set as an output.)

Then toggle B.7 low, read from port A, and toggle B.7 high. 0B-00-00-0F-00-00-00-00 The breakdown of the first four bytes of the command is: 0Bh - StrobeWriteCmd, 00h - not used, 00h - port to read (A), 0Fh -  line to toggle (-F) and toggle direction (0-).

Changing to a positive strobe would necessitate changing the initial line value, and substituting 1Fh for the fourth byte.

Hardware:  U401 USB Interface    U421 USB Interface   U451 USB Interface

Programming:  USBm DLL Programming    Download Files

Application Notes:  U4x1 Application Notes    Misc Applications and Information    FAQ

While every effort has been made to make sure that the information posted on this site is correct, the author can not be held liable for any damages whatsoever for losses as a result of the application of this information. Use this information at your own risk.

USBmicro can design your custom and semi-custom USB product. Email about USB design can be directed to " Robert " at

Copyright © USBmicro, L.L.C., 2002-2010

Previous  |  Next ]     [ Up  |  First  |  Last ]     (Article 67 of 126)

This page is created with TreePad