H8/SX 1655 を使ってI2C通信を試みています。
マニュアルには、送信レジスタ(ICDRT)にデータを書き込めば
自動的にシフトレジスタ(ICDRS)に転送されて、SCL SDA 端子から
クロックパルスが出力されると書かれています。
とすると、パルスの出力だけなら Reset 後
MSTP.CRB.BIT._IIC0 = 0; /* 寝ているI2C0を叩き起こす */
IIC20.ICDRT = 0x90; /* [Start byte] Slave Address + Write */
この2行で事足りると思うのですが、実際にはクロックパルスは
出力されません。きっと必要な何かが不足しているのだと
思うのですが、当方、初心者にて皆目見当がつきません。
どなたかご教示いただけないでしょうか。
因みに動作モードは、モード6とモード7で試してみました。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
こんにちは。
>マニュアルには、送信レジスタ(ICDRT)にデータを書き込めば
>自動的にシフトレジスタ(ICDRS)に転送されて、SCL SDA 端子から
>クロックパルスが出力されると書かれています。
マニュアルって、どのマニュアルですか?
公式のハードウェアマニュアルを見ると、その記述のすぐ上に、設定の手順が懇切丁寧に書かれているように見えますが・・・。
この回答への補足
ご回答ありがとうございます。
マニュアルは公式のハードウェアマニュアルです。
p21-1からIIC2バスインタフェースの説明になっていて
p21-16の21.4.2に「マスタ送信動作」として具体的に記述されていますね。
で、この通りにやってみたのですが、どうも動いている様子がないので
オシロでSCLを当たってみたらクロックが確認されなかったのです。
色々と初期設定が必要のようですが、ほとんどReset後の初期値と
一致しているので(一致しているようなので)、
とにかくSCLのパルスをオシロでモニタするだけなら
上記の2行だけで済むのではないかと思ったのですが
どうやらそうではないようですね。
解決しました。正解は下記です。
MSTP.CRB.BIT._IIC0 = 0;/* 寝ているI2C0を叩き起こす */
IIC20.ICCRA.BYTE = 0xB4;/* マスタ、送信モード、59.5Hz */
IIC20.ICCRB.BYTE = 0xBD;/* 開始条件発行 */
IIC20.ICDRT = 0x90;/* [Start byte] Slave Address + Write */
間の2行が必要なのですが、これをByteでライトしなければ
ならないというのがポイントでした。
いままでbit個別に値を指定していたためダメということでした。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- C言語・C++・C# TCP/IP通信時のサーバーからの受信 2 2022/11/23 09:11
- その他(悩み相談・人生相談) こういう会社に関してどう思いますか? 5 2023/06/22 00:40
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- 据え置き型ゲーム機 ps4ゲームのHDRについて 2 2022/05/04 14:15
- 格安スマホ・SIMフリースマホ 楽天回線エリアなのかパートナーエリアなのか 2 2023/01/14 00:56
- iPhone(アイフォーン) iPhone 初めて買いました iPhone SE wi-fi とデータ通信どこにありますか? 3 2022/10/29 03:36
- ドライブ・ストレージ QNAPのNAS RAID1が崩壊 2 2023/08/05 23:54
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- LTE モバイルデータ通信が使えない 新しくiPhoneを契約して購入しました シムを入れて設定をしようとし 1 2022/09/18 11:31
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
WindowsからSSHでサーバーにあ...
-
自作pcについて
-
三菱のデバイスネットユニットQ...
-
プロダクトキー
-
システム保守費用について
-
VisualStudioSetup.exeの設定に...
-
バッチファイルで特定のファイ...
-
Python CSVファイルについて
-
書き換え中にBIOSを破損してし...
-
なにこのQRコード?!!
-
batファイルのエラー
-
カード会社から 利用国海外とし...
-
bashでコマンドが見つかりませ...
-
QRコード運用方法について詳し...
-
エクセル VLOOKUP ほかのエクセ...
-
サイトURLの「intl/ja_jp/」に...
-
おんどとりWebStorage APIから...
-
「ネット検索だけでは十分な情...
-
ユーザーの切り替え時にバッチ...
-
企業のサイトのクッキーを許可...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
100W機なのにSSBの出力...
-
12.8MHzのクロックを10MHzにしたい
-
電力測定器の接続法
-
この工具の名前が分かりません ...
-
充電器をモバイルバッテリーで...
-
ミニ四駆 ラップタイマーについて
-
学校で買ったiPadがあるんです...
-
アプリについて
-
パソコンを監視されているのを...
-
バイト前眠れないです。 大学生...
-
分電盤の208Vとのいみは?
-
会社のパソコンの監視のされ方...
-
中国留学行くんですが、中国で...
-
26歳女です。職場で目をつけら...
-
他人のPCに一切触れずにそのPC...
-
複数の店舗に設置してあるWIFI...
-
オペアンプとトランジスタを使...
-
交流電圧について
-
学校支給のiPadはどこまで監視...
-
定格電圧110Vの電気ケトルをア...
おすすめ情報