реклама на сайте
подробности

 
 
> FT2232H в режиме MPSSE SPI, Проблема запустить FT2232H в режиме MPSSE SPI на C#
csm7
сообщение Nov 24 2012, 10:51
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 63
Регистрация: 22-12-08
Пользователь №: 42 674



Кто-нибудь работал с 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;
}
};

Может у кого есть рабочий код Помогите плиз
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- csm7   FT2232H в режиме MPSSE SPI   Nov 24 2012, 10:51


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 23:13
Рейтинг@Mail.ru


Страница сгенерированна за 0.10402 секунд с 7
ELECTRONIX ©2004-2016