最近在使用esp32驱动一个spi设备的时候,spi设备没有应答,奇怪的时候我之前用stm32成功驱动过这个spi设备,怎么移植到esp32就不行呢?
在使用stm32的时候我是使用spi mode3,即CPOL=1, CPHA=1,参考通用的spi模式定义:
spi四种模式SPI的相位(CPHA)和极性(CPOL)分别可以为0或1,对应的4种组合构成了SPI的4种模式(mode)
Mode 0 CPOL=0, CPHA=0
Mode 1 CPOL=0, CPHA=1
Mode 2 CPOL=1, CPHA=0
Mode 3 CPOL=1, CPHA=1
时钟极性CPOL: 即SPI空闲时,时钟信号SCLK的电平(1:空闲时高电平; 0:空闲时低电平)
时钟相位CPHA: 即SPI在SCLK第几个边沿开始采样(0:第一个边沿开始; 1:第二个边沿开始)
时序图如下: