我现在正在使用BF609芯片调试通过SPI1接口来控制wifi模块。wifi模块是SPI接口的,设为从设备。BF609端SPI1的配置与ADI提供的通过SPI0接口读取SPI FLASH的例子相同。因SPI1的管脚没有复用,所以没有进行相应的软件开关配置。ConfigSoftSwitches()函数采用默认值。
我现在使用示波器测试各个管脚(CS MOSI, MISO, CLK)的信号都是正常的,CS使用的是SEL1,向wifi模块发送初始化命令,示波器能够捕捉到SPI1发出的信号,也能抓取到wifi的反馈信号,但是我在CCES里面,收不到wifi返回的数据,请问是否还有其他我没注意到的地方?请帮忙看看,谢谢
跟踪的时候发现程序是卡在函数adi_spi_ReadWrite()里面的adi_osal_SemPend()这个位置。
附件中spi_io.c是SPI1口操作的相关函数,spi1_register.jpg是程序卡住时的spi1的寄存器值。
https://ezchina.analog.com/servlet/JiveServlet/download/8434-1-2799/spi_io.c.zip