問題タブ [pic24]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
i2c - PIC 24F I2C スレーブの問題
I2C スレーブとしての PIC 24F には、複数のデータ バイトをマスターに送信する (MASTER READ) ロックアップの問題があります。
データを受信する I2C スレーブとしての PIC (具体的には 24FJ128GB202) (MASTER WRITE) は完全に機能し、すべての単体テストに合格しています。(アドレスのみ、アドレスとレジスタ、アドレスレジスタのシングルデータとマルチデータ自動インクリメント)
私のスレーブコードは、アドレスのみを処理し、1 バイトを読み取ることができます。マスターからの複数の読み取りでハングします (自動インクリメント)。
コードのベースとしてMicrochip アプリケーション ノートを使用し、Code Composer が生成したコードを確認しました。
初期化:
割り込み書き込み:
割り込み読み取り:
スレーブ操作用に Code Composer によって生成されたコードは非常に似ており、同じ問題があります。
私の主な質問は、この読み取り関数で処理される単一のバイトだけでなく、マスターからの複数の読み取りを処理する方法です。I2CSTATbits.ACKSTAT を確認する必要がありますが、そのビットのタイミングは不明です。バイトがレジスタに入ってから 9 クロック後に発生するはずですが、その時点を示すビットがありません。任意のガイダンスをいただければ幸いです。
mplab - ファイル タイプ mainp24f.c は MPLAB のどこにありますか?
始めたばかりです (再び!) C での 16 ビット マイクロコントローラのプログラミング、PIC24 の飛行方法の学習
MPLAB は、私が最後に使用してから少し変わりました!
最初に行うことの 1 つは、C30 または XC16 コンパイラをインストールすることです。XC16 コンパイラをインストールしましたが、すぐに次のように指示されました。
MPLAB X のメイン メニューから、次を選択します。 File> NewFile...
- ファイル タイプを選択します。カテゴリ パネルで、Microchip Embedded フォルダを展開し、C30 コンパイラをクリックします。ファイル タイプ パネルで mainp24f.c タイプを選択します。
唯一のオプションはmain.c
ここ ( https://www.microchip.com/development-tools/downloads-archive )から C30 コンパイラをインストールしましたが、まだmain.c
オプションしか表示されません。
私は何を間違っていますか?