久芯网

h7a3 spi的主机自动挂起在接收模式下

avatar sealoong 提问时间: 2023-08-04 12:13:22 / 已解决

h7a3 spi的主机自动挂起在接收模式下 [相关图片]

这是h7的参考手册里面的自动挂起描述,然后我能问问这个自动挂起是按最后容不下那个数据帧,还是按最后接收的第31位算得?

然后我还有个问题可能并不重要但是很有趣,就是master在只收模式下从机给他发送数据,他是怎么告诉从机挂起的呢?这个主机自动挂起说是只能应用在单工模式,那我就更好奇了。这可能涉及stm32的芯片设计机密了,可以不说,哈哈哈哈哈

3个回答
  • avatar 奇迹
    最佳答案
    回答时间: 2023-08-04 12:39:22

    建议楼主去看一下spi协议的具体情况这里自动挂起,指的是用于接受RxFIFO没空间了,所以是指最后填满的最后一个数,跟位没啥关系,这一段主要讲的是这个机制是有延时的风险,因为关断不及时导致下面一个数据帧的一些位被读取了。使用的话建议在帧与帧之间加入延时。 SPI协议是一种主从机的协议,只有主机通过CS使能从且向从机提供CLK的情况下,才能从从机读写数据。所以挂起从机只需暂停CLK或者失能CS就行。

  • avatar 奇迹
    回答时间: 2023-08-04 13:09:13
    sealoong 发表于 2022-4-3 16:11
    [md]最后一个数?奇迹大牛这个数是指什么? 我那会描述的是接收寄存器总计有32位,接收按帧接收,会出现 ...

    你这其实涉及到芯片的具体设计问题了 这里应该是按数

  • avatar sealoong
    回答时间: 2023-08-04 13:35:02
    奇迹 发表于 2022-3-28 13:35
    建议楼主去看一下spi协议的具体情况这里自动挂起,指的是用于接受RxFIFO没空间了,所以是指最后填满的最后 ...

    最后一个数?奇迹大牛这个数是指什么? 我那会描述的是接收寄存器总计有32位,接收按帧接收,会出现无法再接受下一帧情况。 或者并不是按帧来判断是否溢出,而是判断接收寄存器中的第31位也就是数据的最后一位32位,如果也被占用了不就是满了。 手册没说按帧判断还是按位数判断寄存器是否溢出,我就这不懂

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