Russian Qt Forum

Qt => Общие вопросы => Тема начата: puh от Май 27, 2014, 12:01



Название: проблема работы с библиотекой libMPSSE
Отправлено: puh от Май 27, 2014, 12:01
Добрый день всем.

Делаю проект передачи данных с компа на внешнее устройство по интерфейсу 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 после окончания транзакции, но этого не происходит  ??? ???

Кто сталкивался с такой проблемой??  И, самое главное, как решили этот вопрос??


Название: Re: проблема работы с библиотекой libMPSSE
Отправлено: puh от Май 28, 2014, 12:16
Спасибо за помощь всем  ;)
Оказалось, что FTDI'ка сбрасывает сигнал CS в неактивное состояние, но только через бОльшую паузу, чем я ожидал.
Может это связано с общением Винды с микросхемой FTDI, а может дело и в самой микросхеме, пока не выяснил.


Название: Re: проблема работы с библиотекой libMPSSE
Отправлено: puh от Июнь 03, 2014, 19:26
Кто-нибудь работал с этой библиотекой плотно?

Есть некоторые вопросы по этой библиотеке, которые хотелось бы обсудить.