我正在为 AVR MCU 编写一个静态库。我正在使用 avr-gcc 和 AVR Libc。一些库函数使用 SPI 与设备通信。然而,SPI 通信在所有 AVR MCU 上的完成方式不同(并非所有 AVR MCU 都具有相同的相关寄存器)。它甚至可以通过大爆炸来完成。因此,我希望用户为其特定应用程序提供自己的 SPI 例程。
我怎样才能做到这一点?所有库函数都应该将回调函数作为附加参数吗?我应该在库中使用一个全局变量作为 SPI 处理程序吗?我应该将函数设为外部(使用extern
)吗?
谢谢,