問題タブ [pic32]

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 投票する
1 に答える
100 参照

c - long long pic32 でのビット演算エラー

私は pic32mx コントローラーで作業しており、C32 ツールスイート v2.02 コンパイラーと MPLAB-X IDE v 3.05 を使用しています。long long 変数でビットごとの操作を使用していますが、誤った結果が得られます。

出力:

計算によると、この結果は誤りです。data0 と data1 は等しくなければなりません。

この操作のより良い方法を教えてください。上記の手順にエラーがある場合は、正しいパスを提案してください。

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

pic - デバッグ モードでは lo にピン留めしますが、リリース モードでは hi にします。コードの変更はありません。

PicKit3 を使用したデバッグ モードでは動作するが、リリース モードでは動作しない PIC32MX695F512L プロジェクトがあります。デバッガ使用時、入力端子に設定されているポート F5 は lo です。しかし、リリースモードで実行すると、ピンがハイになります。それに接続されているのはケーブルだけです。リリース モードでは、lo を読み取ることができません。リリース モードのときにポート F5 が高くなる理由はありますか?

デニス

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

uart - PIC32MX795F512H RS232へのUART通信

私は現在、PIC マイクロコントローラを初めて使用しています。コードでは、使用している PIC、コンパイラなどを正確に指定しました。たぶんこれが役に立ちます。

PIC32 で UART 通信をセットアップし、0x41 などの 16 進コードを RS232 経由でコンピュータの端末に送信しようとしています。PIC UART からの信号を RS232 レベルに変換するために、MAX232EPE を使用しています。

現時点では、たとえば PIC32 から端末に、またはその逆に 0x41 を送信すると、受信したデータが一致しないという問題が発生しています。これは私のボーレート設定のミスが原因だと思いますが、よくわかりません。誰かが私のコードを見て、誰かが問題を見ることができるかどうかを確認してもらえますか? 何かを定義するのを忘れましたか?何か間違ったことを定義しましたか?ボーレートの計算を間違えましたか?

PS mplab のデバッグ モードで「ウォッチ」をチェックインしたため、受信したデータが送信したデータと一致しないことがわかっています。また、端末から PIC32 に送信されたデータをエコーし​​て端末に戻すと、どちらも一致しません。 .

遅延と割り込みコードは無視できます。期待どおりに機能しているため、問題は PIC/buad レートの初期設定に関係していると思います。

これが十分に明確であることを願っています。どんな助けも大歓迎です

ありがとう、

以下のコードを参照してください

0 投票する
1 に答える
458 参照

embedded - Microchip Harmony Configurator (MHC) を使用して、PIC32MZ2048ECH144 の同じポートの 2 つのピンに ISR マクロを書き込む方法は?

PIC32MZ2048ECH144 を使用しています。RH8 (ピン番号 81) と RH9 (ピン番号 82) に接続された 2 つのスイッチがあります。ピン レベルで割り込みを設定するオプションが MHC に表示されないため、ポート H 用に生成された ISR を取得します。各ピンの ISR を個別に呼び出す必要があります。したがって、「system_init.c」の「SYS_Initialize」関数に次の行を追加しました。

PLIB_PORTS_PinChangeNoticePerPortEnable(PORTS_ID_0, PORT_CHANNEL_H, PORTS_BIT_POS_8); PLIB_PORTS_PinChangeNoticePerPortEnable(PORTS_ID_0, PORT_CHANNEL_H, PORTS_BIT_POS_9);

「system_interrupt.c」で MHC によって生成された ISR:

上記の ISR マクロを以下の行に置き換えました。

これはうまくいきませんでした。リンクhttp://microchip.wikidot.com/faq:78を参照しました。「/pic32mx/include/proc/p32mz2048ech144.h」から ISR マクロのベクター番号を選択するのは間違っていると思います。(私は _ADC1_DATA22_VECTOR と _ADC1_DATA23_VECTOR を使用し、81 と 82 に対する値はピン番号であると考えていましたが、これも機能しませんでした。) ピンレベルの割り込み (同じポートに 2 つのピン) を設定する方法に関するヘルプやヒントは本当に素晴らしいでしょう! 私の投稿に誤りがありましたことをお詫び申し上げます。

前もって感謝します。