"I2C" (デバイス接続プロトコル)
注:Jessieより前のバージョンのRaspbianでは,GPIOにアクセスするために,ルートとしてログインするか,Wolfram言語をルートとして実行するかしなければならない.より新しいバージョンではルートにアクセスする必要はない.
デバイス発見
- I2Cデバイスは,自動的に発見される.FindDevicesを使うと,現在I2Cバス上にあるデバイスをリストすることができる.
デバイスを開く
- 有効なI2Cスレーブアドレスは,8から119までの整数である.10ビットのアドレスはサポートされない.特定のデバイスのアドレスについては,デバイスのメーカーによるマニュアルを参照されたい.
- Raspberry Piでは,唯一の有効なバスは0である.
DeviceOpen["I2C",addr]
I2Cデバイスへの接続をスレーブアドレス addr で開く.
DeviceOpen["I2C",{addr,bus}]
I2Cデバイスへの接続を指定の bus 上のスレーブアドレス addr で開く.
データの読取り
- I2Cのスレーブデバイスは,通信が起る前に,Wolfram言語とは独立して設定される必要があることもある.
- I2Cのスレーブデバイスの中には,読取り操作で要求されるバイトの数によって異なる反応を示すものもあるので,注意が必要である.詳細については,デバイスのメーカーによるマニュアルを参照されたい.
DeviceRead[dev]
I2Cバス上のデバイスから単一バイトを読み取る.
DeviceRead[dev,n]
I2Cバス上のデバイスから n バイトを読み取る.
データの書込み
- data は,0から255までの整数のリスト,もしくは0から255までの単一のIntegerでなければならない.
- I2Cのスレーブデバイスは,通信が起る前に,Wolfram言語とは独立して設定される必要があるものもある.
DeviceWrite[dev,data]
data をデバイスに書き込む.
リソースの終了と解放
DeviceClose[dev]
I2Cバスへの接続を閉じ,別のプログラムが使用できるようにバスを解放する.