你好,我发现SDK中有SPI的历程,但是相比较CC3200的SDK少了UDMA的历程,在CC3200的SDK中,有专门的uart_DMA的历程,再加上文档可以让人知道怎么使用SPI的DMA。但是CC3220SF怎么使用DMA呢?我没找到相关的文档。。。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
1、SPI例程自带DMA功能是什么意思?我是不是可以理解为不需要使用UDMACC32XX_init();等UDMA,直接使用SPI_transfer就可以?
2、除此之外,例程里面需要用到额外的两根线CONFIG_SPI_MASTER_READY,CONFIG_SPI_SLAVE_READY来控制主从的通讯,而我只需要4线甚至3线模式的传输。那么请问下我如何判断传输是否完成?SPI_Transaction结构体中的status值看起来能使用。于是我在SPI_transfer后使用while(!transaction.status);来等待传输完成。可实际上主机模式代码就卡在那里;从机模式就直接跳过了。请问有什么方法判断传输完成?不要使用历程里的sem_wait(&slaveSem);方法。要用标志位的
通过SPI_Status可以知道传输是否完成
SPI_TRANSFER_COMPLETED SPI transfer completed SPI_TRANSFER_STARTED SPI transfer started and in progress SPI_TRANSFER_CANCELED SPI transfer was canceled SPI_TRANSFER_FAILED SPI transfer failed SPI_TRANSFER_CSN_DEASSERT SPI chip select was de-asserted (only applicable in return partial mode) SPI_TRANSFER_PEND_CSN_ASSERT SPI transfer is pending until the chip select is asserted SPI_TRANSFER_QUEUED SPI transfer added to transaction queue