改めて質問させていただきます。I2C通信について i2c_transferについて

前提

GitHubで、sim230ドライバで、i2c_transferという関数が使われています。
しかし、実態がないのでどうしたものか迷っていて、ネットでググったところ、i2c_transferは組み込み関数と質変えるようなことが書いてあったのですが、この関数は、値をセットしてやればI2C通信を自動でしてくれると認識してよろしいのでしょうか。
それとも、やはり、個別で関数を作ってやって、SCLとSDLのビットスタートで、データのやり取りを指定してやる必要性があるのでしょうか。
あまり、I2Cに詳しくないので、質問の仕方が悪いかもしれませんが、わかる方がいらっしゃいましたら、どうか、お答え願えると幸いです。
よろしくお願いいたします。

i2c_transferについてかかれている、HPはいかになります。

https://cpp.hotexamples.com/jp/examples/-/-/I2C_Transfer/cpp-i2c_transfer-function-examples.html

https://www.nds-osk.co.jp/download-files/forum/freedownload/06/casestudy1/UserlandIO.pdf

■■な機能を実装中に以下のエラーメッセージが発生しました。

実現したいこと

ここに実現したいことを箇条書きで書いてください。

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

for (retry = 0; retry < SMI230_MAX_RETRY_I2C_XFER; retry++) {
if (i2c_transfer(smi230_i2c_adapter, msg, ARRAY_SIZE(msg)) > 0)
break;

 usleep_range(SMI230_I2C_WRITE_DELAY_TIME * 1000,
SMI230_I2C_WRITE_DELAY_TIME * 1000);
}

GitHubのソース的には、次になります。

https://github.com/boschmemssolutions/SMI230-Linux-Driver-IIO/blob/linux-5.4/drivers/iio/accel/smi230_acc_i2c.c

ここのなかの、i2c_transferになります。
よろしくお願いいたします。

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

よろしくお願いいたします。
hiro329

hiro329
2022/08/10 16:41

コメントを投稿

0 コメント