我是QNX的新手。我正在尝试编写一个通过SPI发送/接收数据的应用程序。我能够发送/接收数据。但是,当我在逻辑分析仪上观察到时钟线与MOSI线时,我发现在每32个字节之后有5 us的间隔,为此时钟和MOSI线都趋于平坦,并且在此期间没有数据传输。现在,由于这个原因,传输spi数据所花费的时间将超过计算的时间。 我假设(我不确定是否正确)Qnx spi fifo缓冲区的大小为32个字节,因此Qnx spi驱动程序将数据按32个字节的块进行推送。这就是为什么要延迟5毫秒才能将数据再次填充到缓冲区中的原因。我想知道是否有任何方法可以增加spi fifo缓冲区的大小。我做了一些研究,并了解了spi_setcfg()API可用于更改配置SPI。但是我找不到如何使用此API增加fifo缓冲区的任何示例。请帮助。
答案 0 :(得分:0)
这就是我用的
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 );