
关于三轴陀螺仪 I3G4250D
STM32N6570-DK开发板,哪里还有卖的?
STM32U3 IIC通信后,SPI+GPDMA 进入循环发送,DMA无法使能 寄存器USEF=1
STM32G070CBT6使用硬件SPI无法读出W25Q128的ID
STM32的TIM触发SPI的DMA发送使用NSS时MSSI的问题
ST25R3916有快速读取吗?
32bit SPI使用DMA 初次不触发SPI中断 第二次发送不触发DMA中断
STM32c031c6 SPI Slave Transmit Only模式的疑问
USB Device + FatFS + 外挂 flash
I2C从模式编程之空闲状态
这幅图是从机吗?从机是不主动发时钟的,就算cs信号拉低,但是它要等时钟过来才收发数据。
片选使能肯定是主机拉低的阿
这是片选和时钟信号
嗯,不是太了解本质原因,说一下我的理解。就是一些SPI的datasheet上,有电气特征你可以查看以下,例如W25Q64BV的手册:
它有一个片选于CLK之间的时间,就像任何IC一样,从复位到系统时钟工作是需要有一个时间的,图中是5ns,所以你比5ns短就从MOSI发送数据的话,从器件可能还没工作呢。当然,根据我有限的使用经验,好像收完数据以后直接关掉片选一般问题不大
如果想最快,那么就用硬件控制片选信号,这样最快。
其实楼主不用太纠结,既然仅仅多加了一句控制IO的语句,紧接着就是发送,所以总体时间也就是多了一句IO翻转的时间而已,即使片选靠近发送时刻,总体并没有差多少。
从示波器显示来看,片选使能到收发前的时间段1时间为20微秒,收发时钟脉冲结束后到片选失能时间段2是30微妙,远远大于理论值;
从示波器显示来看,片选使能到收发前的时间段1时间为20微秒,收发时钟脉冲结束后到片选失能时间段2是30微妙,远远大于理论值
还有一部分原因是中断上下文切换造成的,但我测过中断上下文切换耗时不到1微秒