我现在在做一个BF533与一个无线发射模块(型号是MLX74190,比利时一个厂家生产的)进行SPI通讯的项目。
现在的情况是BF533上PORT3的BF_CLK、BF_MOSI、BF_MISO都连到了无线发射芯片的SPI针脚上。
PORT3的EXT_SPISEL1连到了无线芯片上一个叫做WUP的针脚,作为唤醒管道,当EXT_SPISEL1上有上升沿电压的时候芯片被唤醒,当EXT_SPISEL1上有下降沿电压的时候进入休眠。
然后PORT4上的BF_PPI13(PF6)作为SPI片选连到了无线芯片的片选针脚。
现在的情况是按照ADSP的示例代码写出来的SPI_TransferByte()函数,传进去任何值返回的都是0xff,然后我尝试片选PF6之外的其他端口,返回的也是0xff,证明SPI通信没有成功。
我现在的问题有两个:
1.EXT_SPISEL1的上升沿电压该如何配置,我原来是通过DEVICE_OE寄存器配置PF2控制EXT_SPISEL1,然后用FIO_FLAG_S给一个上升沿电压来配置,后来发现即使不配置,EXT_SPISEL1上都一直是上升沿电压,这个不知道是不是对的,还是说有另外的配置方法?
2.传输的SPI命令到芯片无法接收正确信息,如何检测SPI通讯是正确的?有没有BF533和外部SPI设备进行SPI通讯的代码,或者说SPI通讯的一些检测手段?