Здравствуйте, сделал я себе девайс на FT2232C. Канал А - в режиме SPI, канал Б - сом порт. Написал програмку на С++ и нормально с ним работаю. Всё бы ничего, но возникла проблемка - не во всех режимах запускается SPI. Вот часть исходника:
bool CPHA = true; bool CPOL = true; ReadStartCondition.bClockPinState = CPOL; ReadStartCondition.bDataOutPinState = false; ReadStartCondition.bChipSelectPinState = true; ReadStartCondition.dwChipSelectPin = ADBUS3ChipSelect; Status = SPI_Read(ftHandle, &ReadStartCondition, true, //bClockOutControBitsMSBFirst MSB CPHA, //bClockOutControBitsPosEdge negative (ctrlDatalength * 8),//Control Bits To Write &outBuf, ctrlDatalength,//control Bytes To Write true, !CPHA, (dataLength * 8), &inBuf, &dataLength, &HighPinsWriteActiveStates );
При CPHA = true;CPOL = true; всё работает, при CPHA = false;CPOL = false; тоже, а вот если один из этих флагов false, а другой true, возникает ошибка при чтении/записи №47 - FTC_INVALID_INIT_CLOCK_PIN_STATE
Т. е. я не могу поменять полярность и тип клока. Подскажите пожалуйста, кто нибудь встречался с этим уже? Кто нибудь знает, где найти erratu на этот чип?
|