1、CC3200的程序采用官方的spi_demo,采用slave模式,配置仅做如下更改:
#define SPI_IF_BIT_RATE 10000000 //SmartFusion2发出的时钟spi_clk周期为100ns,对应比特率10M。
2、SmartFusion2的程序,时钟的极性与相位模式设为MSS_SPI_TI_MODE;CC3200用demo中的SPI_SUB_MODE_0(时钟空闲为低,下降沿采集)。
3、已经知道,SmartFusion2发出的时钟正常、数据正确,但CC3200收到的却是不对的(显示在串口上的),且发出不同的数据,收到的数仍是相同的,但某些配置改变时,收到的数有变化了。调试时看到,CC3200可进入spi接收中断,并一直在中断函数SlaveIntHandler()中。
可能是哪里出了问题呢?收到的数据完全不对。谢谢了
Yonghua Pan:
能否尝试一下这个程序https://github.com/yhpan0613/SimpleLink-CC3200/tree/mainstream_br/example/spi_udma_demo,试试看有没有效果。