問題タブ [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.

0 投票する
0 に答える
878 参照

i2c - PIC 24F I2C スレーブの問題

I2C スレーブとしての PIC 24F には、複数のデータ バイトをマスターに送信する (MASTER READ) ロックアップの問題があります。

データを受信する I2C スレーブとしての PIC (具体的には 24FJ128GB202) (MASTER WRITE) は完全に機能し、すべての単体テストに合格しています。(アドレスのみ、アドレスとレジスタ、アドレスレジスタのシングルデータとマルチデータ自動インクリメント)

私のスレーブコードは、アドレスのみを処理し、1 バイトを読み取ることができます。マスターからの複数の読み取りでハングします (自動インクリメント)。

コードのベースとしてMicrochip アプリケーション ノートを使用し、Code Composer が生成したコードを確認しました。

初期化:

割り込み書き込み:

割り込み読み取り:

スレーブ操作用に Code Composer によって生成されたコードは非常に似ており、同じ問題があります。

私の主な質問は、この読み取り関数で処理される単一のバイトだけでなく、マスターからの複数の読み取りを処理する方法です。I2CSTATbits.ACKSTAT を確認する必要がありますが、そのビットのタイミングは不明です。バイトがレジスタに入ってから 9 クロック後に発生するはずですが、その時点を示すビットがありません。任意のガイダンスをいただければ幸いです。

0 投票する
2 に答える
102 参照

mplab - ファイル タイプ mainp24f.c は MPLAB のどこにありますか?

始めたばかりです (再び!) C での 16 ビット マイクロコントローラのプログラミング、PIC24 の飛行方法の学習

MPLAB は、私が最後に使用してから少し変わりました!

最初に行うことの 1 つは、C30 または XC16 コンパイラをインストールすることです。XC16 コンパイラをインストールしましたが、すぐに次のように指示されました。

MPLAB X のメイン メニューから、次を選択します。 File> NewFile...

  1. ファイル タイプを選択します。カテゴリ パネルで、Microchip Embedded フォルダを展開し、C30 コンパイラをクリックします。ファイル タイプ パネルで mainp24f.c タイプを選択します。

唯一のオプションはmain.c

ここ ( https://www.microchip.com/development-tools/downloads-archive )から C30 コンパイラをインストールしましたが、まだmain.cオプションしか表示されません。

私は何を間違っていますか?