
loraDIO引脚中断不起作用
E-ST10F269后缀不同,MARKING一样,封装不同,可以通用吗?
E-ST10F269-DPTX 后缀TX表示什么意思
SPI中断时读取会多接收多余的0Xff是什么原因?
L9663驱动开发
IO口的速度问题
spi从机接收数据乱码
三线SPI的时钟极性错误
STM32H503RBT6U的SPI作为Slave模式最高支持速率是多少?超过11M接收数据会错位
为什么STM32U5 OSPI 发送一个字节后,需要等待500ns,再发送下一个字节
这幅图是从机吗?从机是不主动发时钟的,就算cs信号拉低,但是它要等时钟过来才收发数据。
片选使能肯定是主机拉低的阿
这是片选和时钟信号
嗯,不是太了解本质原因,说一下我的理解。就是一些SPI的datasheet上,有电气特征你可以查看以下,例如W25Q64BV的手册:
它有一个片选于CLK之间的时间,就像任何IC一样,从复位到系统时钟工作是需要有一个时间的,图中是5ns,所以你比5ns短就从MOSI发送数据的话,从器件可能还没工作呢。当然,根据我有限的使用经验,好像收完数据以后直接关掉片选一般问题不大
如果想最快,那么就用硬件控制片选信号,这样最快。
其实楼主不用太纠结,既然仅仅多加了一句控制IO的语句,紧接着就是发送,所以总体时间也就是多了一句IO翻转的时间而已,即使片选靠近发送时刻,总体并没有差多少。
从示波器显示来看,片选使能到收发前的时间段1时间为20微秒,收发时钟脉冲结束后到片选失能时间段2是30微妙,远远大于理论值;
从示波器显示来看,片选使能到收发前的时间段1时间为20微秒,收发时钟脉冲结束后到片选失能时间段2是30微妙,远远大于理论值
还有一部分原因是中断上下文切换造成的,但我测过中断上下文切换耗时不到1微秒