問題タブ [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.
c - PIC32 UART が初期化後にガベージ キャラクタを送信する
pic32 ファミリ デバイスのシリアル ポートを構成するコードを書いています。ほとんどの場合、初期化は機能しているように見えますが、書き込んだ最初の 6 文字の代わりにガベージ データが取得されます。ただし、初期化関数の最後に任意の長い待機を追加すると、これがなくなることに気付きました。初期化の最後に待機する必要があるレジスタ フラグはありますか? 私の初期化コードは以下です。それが役立つ場合は、この初期化をpic32 リファレンス マニュアルの UART セクションに基づいています。送信機能にも以下のコードを追加しました。期待される出力文字列は「Hello from the bootloader code.\r\n」ですが、実際に取得するバイト数は次のとおりです。
c - コードを介して PIC32 ブート フラッシュを書き換えるにはどうすればよいですか?
PIC32 デバイスでブートローダを書き換える必要があるアプリケーションがあります。割り込みを無効にした後、NVMErasePage で 0x1fc00000 を消去しようとしましたが、消去されず、NVMErasePage は良好なステータスを返します。コードからブート フラッシュを消去するにはどうすればよいですか?
microchip - MPIDE および Uno32 "#pragma config" を使用したメモリ セグメンテーション エラー
ここで質問するのは初めてなので、私を虐めないでください!
注:MPIDEを使用しています
Uno32 をスリープ モードにして、WSN のようなアプリケーションの電力を節約しようとしています。リファレンス マニュアルを調べて、関連するセクションを見つけました (つまり、 OSCCONSET 、 WDTCONCLR 、および WDTCONSET regs を使用)。これには、ウォッチ ドッグ期間の設定、ウォッチ ドッグのクリア、および "_ asm _ _ volatile _("wait")" の使用が含まれます。 .
ここで、ボード全体が毎回完全にリセットされるように見えるという奇妙な結果が得られたので、私のアプリは wdt 期間中は効果的にスリープしません..Twdt (wdt 期間) + Tsetup のようなものです。
そこで、さらに一歩進んで、ブート regs、つまり "DEVCFG" regs を、オンラインの例で見たものに変更して、欠けているものがあるかどうかを確認したいと考えました。
オンラインで見た例によると、これには「#pragma config」ステートメントが含まれていましたが、これらのいずれもコンパイルできません! 次のコードを参照してください。
そして、私はチップキットの群衆などを悩ませてきましたが、MPIDE と Uno32 を使用していて、DEVCFG regs を変更できた人がいるのだろうかと思っていましたか?
お時間をいただきありがとうございます。
c - RS485 経由で PIC32 と通信する UART からの追加のガベージ バイト
これまでに機能していること:
- USB コンバータを搭載した PC から Click-Board RS485 を搭載した PIC32MX にバイトを送信する
- UART5 はデータの受信に使用され、これらのデータは UART4 を介して送り返され、ターミナルで読み取られます。
- バイトは正しくエコーされていますが、
問題:
- 「<0>」や 0x01 などの追加のガベージ バイトが PIC32 によって受信されます (私の PIC32 で既にデバッグしました)。
- 割り込みでデータをエコーするためにprintfを使用すると、受信されるバイト数が少なくなります(ただし、とにかくいくらか)
ここに私のコードがあります:
plib-Example のように PPSOutput を配置しませんでした。それは問題になるでしょうか?標準ピンを使用するため、ここでのマッピングは必要ないと思いますか?
どうにかして、あなたが私を助けてくれることを願っています。私は本当にイライラして一生懸命努力しましたが、なぜこれらの追加のバイトを受け取るのかわかりません。
編集:問題を解決しました:
ここで解決策を見つけました: http://www.edaboard.com/thread195556.html
事実は、データが利用可能になるまで待つ必要があるということです! 次の行を追加すると、完全に機能します!
pic32 - ライセンス ディレクトリ キーを mplab xc32 に追加するにはどうすればよいですか?
手順を実行し、コンピューターですべてのライセンスを実行しましたが、無料の C++ コンパイラに登録する必要があるとまだ表示されます
bluetooth - Bluetooth バイナリ通信ロスバイト
私は、samsung Galaxy タブとカスタム デバイス間の Bluetooth 通信に取り組んでいます。
カスタム デバイスには、PIC32 (マイクロチップ) と bluetooth RN-42 があります。PIC と RN-42 間の通信はシリアル (UART) です。
テキスト プロトコルを使用するとすべて問題なく動作しますが、バイナリ プロトコルを使用すると、カスタム デバイスから送信されたフレームが切り捨てられます (8 バイトが失われます)。
フレームの最後に 8 バイトを追加すると、クライアントは完全な応答を受け取ります。
複数のクライアント (Galxy タブ、Macbook...) でいくつかのテストを行いましたが、結果は同じです。
すべてのバイトが PIC32 によって送信されることをデバッグ モードで確認しました。
誰かがこの種の問題に遭遇しましたか? どんな助けでも感謝します。
c - for ループでバイトからニブルを抽出する
MicroChip PIC32 組み込みチップの LCD ディスプレイに適応させた DMA 割り込みハンドラに問題があります。
内部メモリが限られているため、カラー LCD 用のフレーム バッファが必要です。16 色を使用し、ピクセルごとにニブルを使用することにしました。次のような配列を作成しました。
割り込みハンドラで、4 ビットのニブルを 16 ビットの値に変換して、パラレル ポートと DMA 転送を介して LCD に送信します。これを実現するために割り込みハンドラーでルックアップ テーブルを使用しますが、これをデバッグするときに General_Exception_Handler に入り、4 ビット ニブルを抽出して 16 ビット値に変換する方法に問題があることを示しています。
60 ピクセルを含む別の配列を使用して、一度に 60 ピクセル (60 x 16 ビット) を転送するように DMA をセットアップしようとしています。
ニブルを抽出して変換する方法に問題を見つけられる人はいますか? 警告やエラーがないので、何も飛び出していません!
どんな助けでも感謝します、ありがとう