Raspberry Pi 5 のSoftware-I2C libraryを作ってみた。

公開済みのRP1-GPIOライブラリを利用したソフトウェアI2Cライブラリを作ってみた。

Raspberry Pi 5のRP1-Chipを使い倒す(GPIO)

簡単そうと思って始めたもののGPIOが非同期実行なためにマイクロ秒レベルで時間制御するのがやっかいすぎておおハマリ。(-_-;)

それと1MHz程度まで行けると予想していたのにGPIO入力のウェイトが大きすぎて350KHz程度の速度しかでない...とか、想定外のことがありすぎだったがなんとか完成。

【仕様】
・100KHz/400KHzのみ
・7bitアドレスのみ
・リピーテッド・スタート対応
・クロック・ストレッチ対応
・マルチ・マスター対応
・ArduinoのWire準拠クラス対応

【I2Cデバイスを列挙するサンプル・プログラム】

【I2Cデバイスを列挙するサンプル・プログラム(Arduinoふう)】

【ライブラリ】