• 正文
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

STM32CUBEMX使用硬件SPI和软件SPI的区别

2024/12/12
906
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

提问:

在使用CUBEMX生成的代码,使用硬件SPI的速度比使用软件模拟的SPI速度要慢几倍(已经在硬件SPI配置成2分频 )按概念来说不应该是硬件SPI比软件模拟的SPI速度要快很多么?使用了示波器也测两者速度差很多硬件的SPI要快很多 ,但不使用cubemx的时候 直接使用HAL库的硬件SPI 也只是比软件模拟的SPI快一倍多一点。这是什么原因呢?

最新回答

  • 应该说,SPI的工作跟CubeMx工具是没有关系的;

    你说硬件SPI速率比软件模拟的SPI速率慢或说慢几倍,这恐怕要具体来看。

    对于片内硬件SPI,其速率是根据配置来的,在不超规格前提下,配置多少就多少。
    软件模拟也是可控的,可快可慢,快慢跟CPU主频和你的代码设计息息相关,不能简单
    断定谁一定快谁就一定慢。

    你看看配置的SPI外设的时钟到底是多少,先确定硬件SPI是否能根据配置正
    常工作,然后尝试软件模拟跟硬件SPI的最高速率做些比较。

    退一步讲,即使你现在所用芯片能通过软件方式模拟出高于硬件SPI的速率也可以理解,
    毕竟软件模拟意味中CPU只能忙这件事了或主要忙这件事了,而硬件SPI的工作相对CPU是独立的。

相关推荐

电子产业图谱