Использование API spi_setcfg () для настройки spi с использованием qnx - PullRequest
0 голосов
/ 12 сентября 2018

Я новичок в QNX.Я пытаюсь написать приложение, которое отправляет / получает данные через SPI.Я могу отправлять / получать данные.Но когда я наблюдаю линию часов с линией MOSI на логическом анализаторе, я вижу, что после каждых 32 байтов появляется промежуток в 5 мкс, для которого линии часов и MOSI не совпадают, и данные за этот период не передаются.Теперь из-за этого время, необходимое для передачи spi-данных, становится больше, чем рассчитанное время.Я предполагаю (я не уверен, что это правильно), что размер буфера Qnx spi fifo составляет 32 байта, поэтому драйвер Qnx spi помещает данные порциями по 32 байта.Вот почему существует задержка в 5 мс для повторного заполнения данных в буферах.Я хочу знать, есть ли способ увеличить размер буфера spi fifo.Я провел небольшое исследование и понял, что API spi_setcfg () можно использовать для изменения конфигурации SPI.Но я не смог найти примеров того, как использовать этот API для увеличения буфера fifo.Пожалуйста, помогите.

1 Ответ

0 голосов
/ 13 марта 2019

вот что я использую:


uint32_t spiMode      = ( ( BITS_PER_BYTE & SPI_MODE_CHAR_LEN_MASK ) |
                                 SPI_MODE_IDLE_INSERT | SPI_MODE_BODER_MSB |
                                 SPI_MODE_RDY_EDGE |
                                 SPI_MODE_CSHOLD_HIGH );
...