久芯网

SPI主机只接收模式关闭SPI使能后为什么还有时钟输出?

avatar huahuahnu 提问时间: 2023-08-09 12:53:18 / 未解决

使用STM32G070,一个板子实现主机只接收,另一个板子实现从机只发送,通信波形上发现主机SPI关闭使能后,片选信号已经置高,仍然有8个时钟输出,如图所示,是要注意什么吗?

SPI主机只接收模式关闭SPI使能后为什么还有时钟输出? [相关图片]

5个回答
  • avatar butterflyspring
    回答时间: 2023-08-09 13:11:47

    以前刚好遇到过。主要是这种模式下的时钟是连续发出来的。所以只要判断数据接收后关掉时钟就可以了。

  • avatar 废鱼
    回答时间: 2023-08-09 13:40:54

    楼主,您好。这个要看您的使用了,虽然CS拉高了,如果还是执行了SPI READ操作,还是会产生波形的。

  • avatar huahuahnu
    回答时间: 2023-08-09 14:11:40

    代码如下: while(ubReceiveIndex

  • avatar huahuahnu
    回答时间: 2023-08-09 14:43:43
    废鱼 发表于 2022-2-18 16:29
    [md]楼主,您好。这个要看您的使用了,虽然CS拉高了,如果还是执行了SPI READ操作,还是会产生波形的。 [/m ...

    没有执行读操作了

  • avatar huahuahnu
    回答时间: 2023-08-09 15:16:19
    butterflyspring 发表于 2022-2-18 21:01
    以前刚好遇到过。主要是这种模式下的时钟是连续发出来的。所以只要判断数据接收后关掉时钟就可以了。 ...

    只要主器件处于只接收模式,停止连续时钟的唯一方式就是通过 SPE=0 来关闭外设。这必 须在最后一个数据帧传输内的特定时间段,即第一位采样与最后一位传输开始之间完成(以便接收全部数量的预期数据帧并防止在最后一个有效数据帧后读取任何其他的“空”数据)。在该模式下关闭 SPI 时必须遵循特定步骤。 while(ubReceiveIndex

会员中心 微信客服
客服
回到顶部