无论上升还是下降沿 sample 都有问题啊!
看看 clock phase 有没有问题?
或者看看下面两个参数?
时钟极性(CPOL)定义了时钟空闲状态电平:
o CPOL=0,表示当SCLK=0时处于空闲态,即时钟高电平有效
o CPOL=1,表示当SCLK=1时处于空闲态,既始终低电平有效
时钟相位(CPHA)定义数据的采集时间。
o CPHA=0,在时钟的第一个跳变沿(上升沿或下降沿)进行数据采样。,在第2个边沿发送数据
o CPHA=1,在时钟的第二个跳变沿(上升沿或下降沿)进行数据采样。,在第1个边沿发送数据
【 在 wjie (faint) 的大作中提到: 】
: 如附件的SPI信号,MCU作为主设备读取一个ADC的寄存器数据,数据应该是0x7,实际上MCU读到的是0x6,最后一个
: bit读成0了。ADC手册说是在第二个沿(上升沿)数据采样,但是从示波器波形看在SPI的最后一个上升沿ADC把
: 数据撤了。检查了SPI的CS信号,这个时候还是有效的,把CS推迟一会再拉高也试过没用。
: 不知道啥原因让ADC早早的撤销了信号,这种情况用IO模拟SPI时序是可以的,但速度太慢了。
--
FROM 120.245.128.*