問題タブ [microchip]
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.
pic - PIC 16F88 ADCの例?
それで、私はPIC 16F88を持っていて、それでいくつかのことを行うことができましたが、今、アナログからデジタルへの変換をどのように行うのか疑問に思っていましたか?
インターネットで多くの例を試しましたが、成功しませんでした:(誰かがADCON0/1などの使用方法に光を当てることができれば、感謝します。
どうもありがとう。
編集:これは私のコードです:
c - サブルーチンを正しく呼び出せませんでした マイクロコントローラ PIC18F
マイクロコントローラーPIC18Fをプログラムするプロジェクトがあります。スイッチング回路をマイクロコントローラーボードに接続する必要があります。このスイッチング回路には、電気ロックとブザーが接続されています。
ロックは最初は電源が入っています。「1」を送信すると、ブザーが方形波で作動し、ロックがオフになると思われます。「0」を受信すると、ブザーはロックに再び電力を供給せずにオフになります。「2」を受信すると、ロックに電力が供給されますが、ブザーが以前に電力を供給されていなかった場合は、再び電力を供給されるべきではありません。
私の混乱は最後の部分にあります。ハイパーターミナル経由で「2」を送信し、その前に「0」を送信すると、ブザーが再び作動します。
ここにコードがあります、
誰でもこれを解決するのを手伝ってもらえますか?
loading - マイクロチップ:MPLABXに複数のHEXファイルをロードする方法
私はMPLABX(MPLAB 8の場合もあります)を使用していて、プロジェクトを完了させています。私はこれらのHEXファイルを持っています:
- bootloader.hex
- magic_flag.hex
ブートローダーはアドレス0x0から0x7FFにロードされます。マジックフラグの位置はアドレス0x40(ブートローダー領域)にあります。
そして今、すべてをロードするためにMPLAB Xでプロジェクトをセットアップする必要があります(bootloader + magicFlag + app)。ブートローダーをロードし、次にmagicFlagをロードしてから、保存されたフラッシュメモリをセットアップし、アプリケーションで作業して、アプリケーション領域(0x800から0xFFFF)のみをロードすることは可能ですが、私にとってはあまり快適ではありません。たとえば、iSYSTEMのWinIDEA IDEでFreescaleを使用した場合、多くのSXファイルをロードするように設定することができ、非常にシンプルで迅速に機能していました。しかし、MPLAB XIで試してみると、常にエラーが発生します。
(944)appl.hexとbootloader.hexの間のアドレス0hでのデータの競合。
私が試したこと:
- プロジェクトプロパティにロードするためのセットアップファイル(セクションロード)
- プロジェクトプロパティでメモリ範囲を設定する(セクションICD 3)
しかし、ICD3のロードには問題がないことを私は思います。MPLABXがユニファイド16進ファイルを作成しているときにエラーが発生したためです。
そして想像してみてください、これはリンカーの私の部分です:
これは私のプロジェクトだけではなく、magicFlagを備えたブートローダーがあり、applからのソースコードしかないことを思い出してください。もちろん、1つのプロジェクトにapplを含むブートローダーソースコードを含める方がよいでしょう。
だから、MPLABXは私を殺している、助けてください:-)
assembly - 単一のオペランドで MOVF を使用することは有効ですか? もしそうなら、利点は何ですか?
MOVF が第 2 オペランドなしで使用されている例をいくつか見つけました。たとえば、次のようになります。
(サンプルは PICKIT2 LPC ボードのユーザー ガイドから抜粋)
MPLAB SIM で簡単に実験すると、2 番目の「デスティネーション」オペランドはオプションであり、デフォルトでワーキング レジスタになることが示唆されています。すなわち
これは、厳密には可能ですが、コードを読みにくくする別の方法であるコーディングの「機能」の1つですか? それともそれ以上のものがありますか?
microchip - PmodOLEDをJBからJAヘッダーに移動-32MX4(MPLAB X IDE)
私はマイクロコントローラーのプログラミングに不慣れで、最初のタスクはPmodWiFiアドオンを使用してWiFi接続を受け入れることです。WiFiチップのデフォルトのピン/ポートは32MX4のJBヘッダーであると読みました。問題は、現在JBヘッダーにPmodOLEDアドオンがインストールされているため、それをJAヘッダーに移動したいということです。(PmodOLED.h
ライブラリにインポートした)では、JBヘッダーではなくJAヘッダーのポートに対応するように次の行を変更しました。
ただし、JAヘッダーにPModOLEDアタッチメントを挿入してコードを実行すると、応答せず、画面が空白になります。PmodOLEDアドオンをJAヘッダーにインストールできるようにコードを変更する方法を教えていただければ幸いです。
よろしくお願いします、Guvvy
microcontroller - MRF24WB0MA WiFi と 32MX4 初心者向けチュートリアル
私はマイクロチップ プログラミングの初心者で、WiFi に接続できるロボットを設計したいと考えています。Cerebot 32MX4 マイクロコントローラ (PIC32MX460F512L) と PmodWiFi カード (MRF24WB0MA) を持っています。どこから始めればよいかまったくわかりません。TCP/IP スタックやその他のサンプル コードを含むさまざまなコードをインターネットからダウンロードしようとしましたが、コンパイル エラーが発生するか、ロボットに影響しません。この 2 つの製品を選んだのは、比較的人気があり、かなり簡単なプロセスになると予想していたからです。これをセットアップする方法を示すステップバイステップのチュートリアルへのリンク、または 32MX4 の動作するサンプル コードを送信していただけますか。現在、JBヘッダーを介してWiFiカードに接続された機能的な32MX4ボードがあります。バカみたいに聞こえたらごめんなさい
助けてくれてありがとう、Guvvy
android - 複数のハンドラーの再利用可能なコード
1 つのアクティビティで 2 つの異なるハンドラーを使用する代わりの方法を提案してください。または、この方法で問題ないことを教えてください。
詳細: Microchips ADK Android スターター キットで使用するコードを開発中です。すべてがスムーズに実行されていますが、コードで 2 つの異なるハンドラーが実行されているという問題があります。動作しますが、推奨されていないことに気付きました。時間遅延を作成するために使用する最初のハンドラーで、post コマンドを使用して結果を起動します。2 番目のハンドラは、USB アクセサリ フレームワーク ファイルと通信するために提供された Microchip のサンプル コードで使用されます。私は、マイクロチップ社のコードを書き直すよりも、いじくり回すことだけを好みます。同様のコード:
c - PIC24 用にハードウェアに依存しない関数を C で記述するにはどうすればよいですか?
PID コントローラー、信号発生器などのさまざまな機能を実装するコードに取り組んでいます。
私のハードウェアは、さまざまな入力と出力を提供します。ちょうど今、計算のソースと宛先を決定するための SWITCH ステートメントが大量にあります。
たとえば、PID コントローラーの場合、pid_calculate 関数に渡す入力を決定するスイッチ コマンドが 100 ミリ秒ごとにあり、その後に戻り値をどう処理するかを決定する別のスイッチが続きます。私は 32 のアナログ入力と、can、lin、serial の可能な入力を持っているので、switch ステートメントは巨大です!
ハードウェアに依存しない(写真の範囲内で)機能として何かをコーディングする方法の物理的な例を参照したいと思います。答えはポインターにあると確信していますが、私は C が初めてで、ポインターをどこから始めればよいかよくわかりません。
関数プロトタイプは int pid_init(*source,*destination) のようなものだと思います。ここで、ソースは入力へのポインターであり、たとえば ADC バッファーであり、宛先はたとえば pwm デューティ サイクル レジスタである可能性があります。ちょうど今、考えられる各条件を切り替えてから、データをレジスタにロードする必要があります。
明確にするために、入力と出力に依存しないようにする関数をどのように実装し、どのようにポインターを逆参照しますか(ポインターがこれを行う正しい方法であると仮定します)
これが理にかなっていることを願っています、事前に感謝します。
javascript - TCP/IPスタックマイクロチップでの日付と時刻の設定
日付と時刻をリアルタイムクロック(RTCC)に設定する最良の方法は何ですか?IPアドレスの場所に基づいて現在の時刻を取得できますか、それとも手動で設定する必要がありますか。手動で設定する場合、ユーザーに設定させるための最良の方法は何ですか?私は現在、名前を使用した単純なフォームを持っていますが、より良い方法はありますか?