全球热议:stm32duino 在第三方库中使用 SPI2

2023-03-06 22:10:57 [来源:哔哩哔哩]


(资料图片)

stm32duino 库默认将SPI映射在 STM32 单片机的 SPI1 中。如果不够用可以按照官方教程来解决。 https://github.com/stm32duino/Arduino_Core_STM32/wiki/API

但是,如果 SPI_3 使用了第三方 SPI 库,如 RF24.h库,就不能很好工作了。因为第三方库一般使用默认的 SPI 端口。此时,如果按照官方 API 教程,直接在程序中重映射 SPI 端口,会报错。

上述 SPI 可能不存在。是否存在,在于第三方库是如何实例化 SPI 的。如何解决呢?我们以 RF24.h 库为例。

一般地,库文件在 用户名\Documents\Arduino\libraries\RF24的文件中。打开 RF24.cpp 文件。根据官方教程,重映射 SPI 端口需要在 begin() 函数之前。那我们就找到 begin() 函数,并在其之前重映射端口。打开文件我们看到,实例化 SPI 类的类名是 _spi 或者 _SPI ,那我们就将 2 个都重映射。

然后就可以愉快地在第三方库中使用 SPI2 了。注意,修改过的类文件要避免在其它地方使用,否则可能会报错,最好复制一份,将当前库修改名字重新引用。

x 广告
x 广告
© 2021 东亚早报网 版权所有,备案号:琼ICP备2022009675号-13邮箱:435 227 67 @qq.com