Hi Leute,
ich möchte mit dem FT2232 von FTDI eine SPI und eine I2C-Schnittstelle
auf einem Chip realisieren. Ich verwende dafür die originalen .libs und
header Dateien. Leider haben die Pappnasen in den headern die Struktur
"ChannelConfig" in beiden gleich genannt, sodass wenn ich die
Deklarationen ändere, ich eine Fehlermeldung in Qt bekomme:
Fehler: C2664: 'FT_STATUS I2C_InitChannel(FT_HANDLE,ChannelConfig *)' :
Konvertierung von Argument 2 von 'ChannelConfig_SPI *' in 'ChannelConfig
*' nicht m”glich
Die Typen, auf die verwiesen wird, sind nicht verknüpft; die
Konvertierung erfordert einen reinterpret_cast-Operator oder eine
Typumwandlung im C- oder Funktionsformat.
Ich nutze den MSVC Compiler in 32 Bit.
Hier noch Codeschnipsel:
Änderung in der libMPSSE_spi.h
1 | typedef struct ChannelConfig_SPI_t
|
2 | {
|
3 | uint32 ClockRate;
|
4 |
|
5 | uint8 LatencyTimer;
|
6 |
|
7 | uint32 configOptions;
|
8 |
|
9 | uint32 Pin;
|
10 |
|
11 | uint16 reserved;
|
12 | }ChannelConfig_SPI;
|
Hier aus .cpp Datei:
1 | //Werte für MPSSE setzten
|
2 | ChannelConfig_SPI ChannelConfiguration;
|
3 | ChannelConfiguration.ClockRate = 300000; /*i.e. 300 KHz*/
|
4 | ChannelConfiguration.LatencyTimer = 255;
|
5 | ChannelConfiguration.configOptions = SPI_CONFIG_OPTION_MODE1;
|
6 | ChannelConfiguration.Pin = 0;
|
7 |
|
8 | ftStatus = I2C_InitChannel(ftHandle, &ChannelConfiguration);
|
Wie bekomme ich das Problem in den Griff?