提问:
在使用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是独立的。