AVRMCU用の静的ライブラリを書いています。私はavr-gccとAVRLibcを使用しています。一部のライブラリ関数は、SPIを使用してデバイスと通信します。ただし、SPI通信はすべてのAVR MCUで同じ方法で行われるわけではありません(すべてのAVR MCUが同じレジスタを持っているわけではありません)。それはビッグバンギングによってさえ行うことができます。したがって、特定のアプリケーション用に、ユーザーが独自のSPIルーチンを提供するようにします。
これどうやってするの?すべてのライブラリ関数は、追加の引数としてコールバック関数を取る必要がありますか?ライブラリ内にSPIハンドラーとして機能するグローバル変数が必要ですか?関数を(を使用して)外部にする必要がありますextern
か?
ありがとうございました、