public SetTimeouts ( |
||
ReadTimeout | Read timeout value in ms. A value of 0 indicates an infinite timeout. | |
WriteTimeout | Write timeout value in ms. A value of 0 indicates an infinite timeout. | |
Résultat | FT_STATUS |
public FT_STATUS SetTimeouts(UInt32 ReadTimeout, UInt32 WriteTimeout)
{
// Initialise ftStatus to something other than FT_OK
FT_STATUS ftStatus = FT_STATUS.FT_OTHER_ERROR;
// If the DLL hasn't been loaded, just return here
if (hFTD2XXDLL == IntPtr.Zero)
return ftStatus;
// Check for our required function pointers being set up
if (pFT_SetTimeouts != IntPtr.Zero)
{
tFT_SetTimeouts FT_SetTimeouts = (tFT_SetTimeouts)Marshal.GetDelegateForFunctionPointer(pFT_SetTimeouts, typeof(tFT_SetTimeouts));
if (ftHandle != IntPtr.Zero)
{
// Call FT_SetTimeouts
ftStatus = FT_SetTimeouts(ftHandle, ReadTimeout, WriteTimeout);
}
}
else
{
if (pFT_SetTimeouts == IntPtr.Zero)
{
LogB.Debug("FTD2XX: Failed to load function FT_SetTimeouts.");
}
}
return ftStatus;
}
private void button5_Click( object sender, EventArgs e ) { UInt32 ftdiDeviceCount = 0; // Create new instance of the FTDI device class myFtdiDevice = new FTDI(); myFtdiDevice.GetNumberOfDevices( ref ftdiDeviceCount ); FTDI.FT_DEVICE_INFO_NODE[] ftdiDeviceList = new FTDI.FT_DEVICE_INFO_NODE[ftdiDeviceCount]; myFtdiDevice.GetDeviceList( ftdiDeviceList ); myFtdiDevice.OpenBySerialNumber( ftdiDeviceList[0].SerialNumber ); myFtdiDevice.SetBaudRate( 9600 ); myFtdiDevice.SetDataCharacteristics( FTDI.FT_DATA_BITS.FT_BITS_8, FTDI.FT_STOP_BITS.FT_STOP_BITS_1, FTDI.FT_PARITY.FT_PARITY_NONE ); myFtdiDevice.SetFlowControl( FTDI.FT_FLOW_CONTROL.FT_FLOW_RTS_CTS, 0x11, 0x13 ); myFtdiDevice.SetTimeouts( 5000, 0 ); richTextBox1.AppendText("polaczono"); }