3

I2C スレーブ デバイスのレジスタを変更できるようにしたいと考えています。デバイスにはカーネルにドライバーがあり、ドライバーは I2C クライアントをそのアドレスに登録します。

ドライバーは非常に基本的なもので、すべてのデバイス機能を出力します。ユーザー空間からレジスタにアクセスしたいのですが、I2C-dev でアクセスしようとすると、デバイスまたはリソースがビジーというエラーが発生します。

ドライバーに機能を追加したくはありません。デバイス レジスタを変更するユーザー空間アプリケーションを作成することを好みます。

このような場合、どのように I2C-dev を使用してレジスタを変更できますか?

4

1 に答える 1

1

そのため、I2C-dev を調査した後、問題を解決することができました。ioctl 関数内にフラグ I2C_SLAVE_FORCE があることに気付きました。フラグが設定されている場合、関数は I2C アドレスが既に登録されているかどうかを無視します。

于 2015-05-25T05:37:59.280 に答える