我有多个项目使用相同的代码但使用不同的处理器 (
STM32F4xx)。为了尝试解决常见的代码问题,我创建了一个静态库,其中包含 HAL 驱动程序代码,每个处理器的主要应用程序都链接到该库。
现在由于某种原因 I2C 和 SPI 没有正确初始化。例如 I2C,它将进入 HAL_I2C_Init 函数,但当它尝试设置结构属性“instance”时,它总是被设置为 0。它应该设置为 788 的值,但它永远不起作用。我试图在调试模式下设置它,但它总是回到 0。
我知道这段代码在我将代码分离到一个库之前工作得很好,当它全部在一个项目中时它工作得很好没有问题。结构“实例”属性将被正确设置。
有没有人成功地将 HAL 库分离成静态库?有 I2C 或 SPI 等工作吗?