SVG電子工作ブログやってます。contentsAVRマイコンでTWI(I2C)I2Cディスプレイモジュールドライバを作るI2CディスプレイモジュールSO1602の仕様SO1602ディスプレイモジュールの使いかた付記ATmega328PでTWI(I2C)を制御した記録。以下のフローチャートを参考にする。スレーブアドレスとR/Wビットデータ転送の形式を下図(図9)に示します。スタートコンディション(S)の後、スレーブアドレスが送信されます。このアドレスは7ビット長で、8ビット目にデータ転送の方向を示すビット(R/W)が続きます。「0」は、送信(WRITE、書き込み)を、「1」はデータのリクエスト(READ、読み出し)を示します(図10)。アドレス0x3Cはデーターとしては0x78をバスへ送り出します。1ビット左シフトしている理由です。<<1)I2CディスプレイモジュールSO1602の仕様I2Cディスプレイモジュールデータフォーマットディスプレイモジュールにはスレーブアドレスの次にコントロールバイト,データーバイトの順にバスに送り出します。bitコントロールバイトは続くデーターバイトがデーターかコマンドかをディスプレイモジュールに指示しています。0x00,データーバイトの順にバスに送り出します。0x40,データーバイトの順にバスに送り出します。}}このループで登録してます。付記I2Cディスプレイコントローラ回路i2c_display.hi2c_display.c制御にはATMEGA328Pに内蔵されているI2C(TWI)機能を使います,I2C割り込みは難しそうなので今回は無し。