我正在尝试创建一个非常简单的 i2c 测试程序以在我的 STM32L0(发现套件)上运行。我已经修改了 libopencm3-examples/examples/stm32/l0/stm32l0538-disco 中的 miniblink 程序。
但如果我只包含 i2c 头文件:
#include <libopencm3/stm32/i2c.h>
并运行 make 我得到错误:
../../../../../libopencm3//include/libopencm3/stm32/i2c.h:36:9: error: #error "stm32 family not defined."
在调查此文件后,似乎为每个其他模型定义了规则,但没有为 l0 定义规则,这是为什么呢?libopencm3在STM32L0系列上不支持i2c吗?
#if defined(STM32F0)
# include <libopencm3/stm32/f0/i2c.h>
#elif defined(STM32F1)
# include <libopencm3/stm32/f1/i2c.h>
#elif defined(STM32F2)
# include <libopencm3/stm32/f2/i2c.h>
#elif defined(STM32F3)
# include <libopencm3/stm32/f3/i2c.h>
#elif defined(STM32F4)
# include <libopencm3/stm32/f4/i2c.h>
#elif defined(STM32L1)
# include <libopencm3/stm32/l1/i2c.h>
#else
# error "stm32 family not defined."
#endif
我查看了 libopencm3/stm32/l1/i2c.h ,它似乎所做的只是导入通用 i2c 库。有什么办法可以只使用 l1 的 i2c 库吗?
谢谢