Кто-нибудь работал с FT2232H в разных режимах Меня интересует SPI. Программу пишу в среде MS VS C# 2010 Express. Для перевода FT2232H в режим SPI (MPSSE) использую библиотеку FTCSPI.dll. Все функции работают отлично микросхему вижу и хендл на нее получаю. Однако никак не могу заставить корректно работать следующие функции:
SPI_SetHiSpeedDeviceGPIOs
SPI_GetHiSpeedDeviceGPIOs
SPI_WriteHiSpeedDevice
SPI_ReadHiSpeedDevice
Получается устройство открываю а сконфигурировать выводы, прочитать с него и записать данные в него не могу. У этих функций в качестве параметров передаются указатели на структуры. Подозреваю что я неправильно переписал эти структуры на C# а следовательно и передаю их в dll-ку.
Привожу пример как я переписал функцию с С++ на C#
[DllImport("FTCSPI.dll", EntryPoint = "SPI_GetHiSpeedDeviceGPIOs")] unsafe public static extern ftc_status SPI_GetHiSpeedDeviceGPIOs(UInt32 pftHandle, [In, Out] ref FTH_Low_High_Pins pHighPinsInputData);
[StructLayout(LayoutKind.Sequential)] public struct FTH_Low_High_Pins{ [MarshalAs(UnmanagedType.I1)] public bool bPin1LowHighState; [MarshalAs(UnmanagedType.I1)] public bool bPin2LowHighState; [MarshalAs(UnmanagedType.I1)] public bool bPin3LowHighState; [MarshalAs(UnmanagedType.I1)] public bool bPin4LowHighState; [MarshalAs(UnmanagedType.I1)] public bool bPin5LowHighState; [MarshalAs(UnmanagedType.I1)] public bool bPin6LowHighState; [MarshalAs(UnmanagedType.I1)] public bool bPin7LowHighState; [MarshalAs(UnmanagedType.I1)] public bool bPin8LowHighState; public FTH_Low_High_Pins(bool _bPin1LowHighState, bool _bPin2LowHighState, bool _bPin3LowHighState, bool _bPin4LowHighState, bool _bPin5LowHighState, bool _bPin6LowHighState, bool _bPin7LowHighState, bool _bPin8LowHighState) { bPin1LowHighState = _bPin1LowHighState; bPin2LowHighState = _bPin2LowHighState; bPin3LowHighState = _bPin3LowHighState; bPin4LowHighState = _bPin4LowHighState; bPin5LowHighState = _bPin5LowHighState; bPin6LowHighState = _bPin6LowHighState; bPin7LowHighState = _bPin7LowHighState; bPin8LowHighState = _bPin8LowHighState; } };
Может у кого есть рабочий код Помогите плиз
|