spi个人笔记

spi是全双工通讯,收发同时进行。这句话怎么理解?

305f294e6a634aa8897f06988df4801f.jpg

 如上图所示:主机产生一组时钟信号,并通过mosi输出8位数据。这个时候,虽然从机没有返回数据(持续低电平),但是因为是 收发同步,所以此时主机已经采集了此次的miso数据。

就是说,无论你的目的是发送还是接受,每产生一组时钟信号,就会发送一组数据同时接受一组数据。

时钟信号由主机产生,从机回复数据需要通过主机发送数据产生的时钟信号。

75ee91ad9aac4353860082e1b5c04592.jpg

 所以,如上图所示,共两组数据。从机回复数据时,可以通过主机随便发一个无效的数据过来。

stm32库用总是有发送和接受两个函数,单独调用接收函数,并不会产生时钟信号。所以,想要接收还得靠发送数据产生时钟信号。

​​​​​​​2023.02.14:单独调用下面两个函数其一 都会产生一个时钟信号。

    HAL_SPI_Transmit(&hspi1, &reg, 1, 1000);
    HAL_SPI_Receive(&hspi1, &data, 1, 1000);

如果使用:下面的收发一体函数 只能产生一个时钟信号

HAL_SPI_TransmitReceive(&hspi1, &reg, &data, 1, 1000);

STM库 两个时钟信号之间间隔有3.5us

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SPI Multiboot是指一种基于SPI总线的多启动引导协议,它允许开发者通过单个SPI接口将多个不同的固件程序存储在一个SPI闪存芯片中,并在系统启动时通过分别选择这些不同的程序来启动不同的设备。 其中多个不同的固件程序可以任意划分成多个分区,并按照设定的优先级顺序存储在SPI闪存芯片中。而启动时则通过控制SPI接口时序和信号的方式,选择相应的固件程序进行启动。 此外,SPI Multiboot协议还支持数据传输的加密和校验,以确保数据安全和完整性。 对于应用者而言,SPI Multiboot协议的优点主要有以下几点: 1.节省硬件成本。使用SPI Multiboot,只需要一个SPI接口即可存储多个固件程序,而不必使用多个独立的闪存芯片,从而节省了硬件成本。 2.方便固件更新。由于可以通过SPI接口直接更新闪存中的固件程序,因此更新固件程序将变得更加方便和快捷。 3.提高系统的稳定性和安全性。SPI Multiboot协议支持数据传输的加密和校验,可以确保固件程序的安全和完整性,从而提高了系统的稳定性和安全性。 4.灵活性和可扩展性。SPI Multiboot协议允许开发者使用不同的固件程序和分区划分方案,以满足不同设备的需求,并且还可以扩展协议中的参数和信号,以适应更多的应用场景。 总之,SPI Multiboot协议是一种带有多种优点的多启动引导协议,对于需要在单一设备上运行多个不同的固件程序的应用场景而言,提供了一种较为理想的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值