Добрый день всем.
Делаю проект передачи данных с компа на внешнее устройство по интерфейсу SPI. Для этого взял платку с микросхемой FT232H, которая и позволяет преобразовывать USB в SPI.
Подключил библиотеку libMPSSE.
Настроил FT232H в режим работы SPI-мастера.
Используя следующий код:
sizeToTransfer=11;
sizeTransfered=0;
buffer[0]=0x9F;
buffer[1]=0xFF;
status = p_SPI_Write(ftHandle, buffer, sizeToTransfer, &sizeTransfered,
SPI_TRANSFER_OPTIONS_SIZE_IN_BITS|
SPI_TRANSFER_OPTIONS_CHIPSELECT_ENABLE|
SPI_TRANSFER_OPTIONS_CHIPSELECT_DISABLE);
смотрю, что выдается в линию, и получаю следующее:
- тактовая SPI - нормальная, какую и настроил, выдается только на время передачи данных
- сами данные в последовательном виде - тоже нормальные
- сигнал CS (ЧипСелект) выставляется перед транзакцией в "активный уровень" (я использую '0'), а вот после транзакции - не возвращается в "неактивный уровень".
По документации на библиотеку использование флага
SPI_TRANSFER_OPTIONS_CHIPSELECT_DISABLE должно привести к возврату в "неактивное состояние" сигнала CS после окончания транзакции, но этого не происходит
Кто сталкивался с такой проблемой?? И, самое главное, как решили этот вопрос??