問題タブ [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.
exception - マイクロチップの例外処理
マイクロチップ ICD3 デバイスでプログラムを実行しているときに、例外処理が奇妙に見えます。例外が発生している間、プログラムは応答を停止します。コードを確認しているときに、default-general-exception-handler.c が無限ループを作成することに気付きました。どこでエラーが発生し、何が原因なのか分からず、本当に困っています。Microchip 社は例外処理をサポートしていないということですか? または、エラーメッセージを読む方法はありますか?
無限ループ:
_general_exception_handler を定義することで機能します。
asp.net - URL クエリ文字列を使用した SQL Server エントリ
post 関数を使用して PIC 32 コントローラから URL を取得しています。
これは、www.example.com/Default.aspx?x=12&y=23 のようなものです
私がやりたいことは、URL を取得したら、x と y の値を SQL Server に格納することです。
システムで IIS サーバーを使用して .aspx を起動しました。aspx ページのコーディングは..
これで私を導いてください。
データは、次の C# コードでデータベースに保存されます。
コンピューターのブラウザーで使用している間は、すべて問題ありません。しかし、PIC32 からの投稿は実行されていません。IP と MAC の詳細を含む IIS サーバーに戻る URL をどのように処理すればよいかわかりません。私のアプリケーションでは、PIC32 plat からこれらのデータをコンピューターから取得しています。
私は自分自身を明確にしたことを願っています。
mplab - PIC32 が数時間後に応答しなくなる
別の会社が開発したPIC32MX340F512ボードがあります。ボードにはDS1338 RTCCと24LC32A eepromがあり、I2Cバスにディスプレイユニットがあります。このバスにはTSL2561 I2C光センサーが含まれており、光をポーリングするコードをcで書きました。光センサーが一定のレベルに達すると、時間と日付、光センサーの値を SD カードに保存します。これはすべて正常に機能しますが、トンネルの一方の端の入射光を監視する必要があるトンネル内に光を当てずにシステムを離れると、どれだけの量の光を当ててもシステムが応答しなくなり、電源を切るとすべてが正常に機能し始めます。私は 1 人の開発チームで、何ヶ月も問題を見つけようとしてきました。システムがハングしないようにウォッチドッグ タイマーを有効にしましたが、問題は解決しませんでした。次に、光測定を有効にするプッシュボタンを含めることでセンサーに問題があるかどうかを調べることにしましたが、それでも4〜5時間経過しても、PICは入力ピンの変化を検出することさえできません。ハードウェアのリセットが進行中のすべてを上書きするという印象の下で、リセットボタンを含めました。また、最初の数時間は正常に機能し、PICはリセットを含む何にも応答していないようです. ファームウェアには何も問題はないと確信していましたが、I2C のディスプレイ ユニット (pic16f1933 と lcd) がメイン ユニットと電力を共有しているため、これらすべてが起こっていることもわかりました。さまざまなメッセージが絶えず交互に表示されるため、影響を受けているようです 何が問題なのか (ハードウェア/ファームウェアまたは私のセンサー) を知っている人はいますか? 別途購入したDC24V電源を使用しています。コードに SLEEP モードを実装していませんが、PIC はディープ スリープ状態になっているようです。Nb 私たちは他の多くのプロジェクトで同じボードを使用していますが、そのような問題に遭遇したことはありません。前もって感謝します。
embedded - Microchip PIC32 および dsPIC33E でのランタイム スタック監視
組み込みハードウェアでランタイム スタック分析を実行して、十分なスタック スペースが割り当てられていることを確認する必要があります。基本的な理論は理解できました。起動時に、スタックを既知のパターン (すべて 0xFF または 0xAA など) で初期化し、プログラムを実行できるようにします。実行すると、スタックは拡大および縮小しますが、元のパターンを復元することはありません。十分な時間が経過したら、スタックを調べて、最後に変更されたスタック値のアドレスを見つけます。
ポータブル ソリューションは必要ありません。dsPIC33EP512MU810 と PIC32MX795F512 用のソリューションだけが必要です。私のフォールバック計画は、スタックオーバーフローが発生するまでスタック サイズを段階的に減らすことですが、それはリリース候補ができて初めて機能します。
c - 配列を先読みして、C で後の結果を予測する
基本的に私が尋ねようとしているのは、「ケース」を作成できるように配列を先読みする方法があるかということです。
例:配列には次のような整数のみがあります:0 0 0 0 4 0 1 0 0 0 0 0 0 0 0 0 0 0 3
やりたいことは、次のゼロ以外の数までカウントダウンを作成することです。基本的にカウントダウンを表示します。これを行う方法はありますか?
c - Cで「配列スタイル」のカウントダウンを作成する
私が知りたいのは、c でカウントダウンを作成できる場合、ただし、配列内の「異常な」データにヒットしたときの条件があるということです。例を挙げてよりよく説明します。
これも似ています: C で後の結果を予測するために配列を先読みする
しかし、それは言葉遣いが不十分でした。だから、私はこの質問を言い換えています。
例: 配列は次の整数配列です:0 0 0 0 1 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 2
したがって、ゼロの場合は何もしません。ただし、ゼロ以外の場合は、数値に関連付けられたテキストを表示します (何らかの条件に従って)。
擬似コードを使用すると、次のようになります。
これを達成する方法はありますか?基本的に、これは配列を予測または先読みできることを意味します。どんな助けでも本当に感謝します!
c - MPLAB オブジェクト ファイルに失敗しました
PIC32 用の Microchip USB Stack ファイルをビルドしようとしましたが、MPLAB X IDE でビルドに失敗したというエラーが表示されました。
以下は、ビルド中のエラーです。
指定されたパスが見つかりません。作る[2]:[build/default/production/_ext/1961590870/usb_device.o] エラー 1 make[1]:[.build-conf] エラー 2
オブジェクトファイルはコンパイラによって自動的に作成されますか? そして、このエラーを解決する方法は?
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 を変更できた人がいるのだろうかと思っていましたか?
お時間をいただきありがとうございます。