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

0 投票する
5 に答える
12900 参照

c - FreeRTOS タスクはコンテキスト切り替えではありません

PIC32MX スターター キットで PIC32 マイクロコントローラー用の FreeRTOS ポートを使用しています。タスクで遊んでいましたが、タスクはコンテキスト切り替えではありません。ここに私の主な構成設定があります:

これで、2 つの LED を点滅させる 2 つのタスクが定義されました。両方の優先度は 4 (最高) です。通常の操作では、LED は 100 ティックごとに交互に点滅します。しかし、これは起こりません。2 番目の LED が 100 ティック点滅し、制御が一般的な例外ハンドラに移ります。なぜこれが起こるのですか?予定は全くないようです。

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

c - Receiving SPI data via DMA on PIC32

I know that this topic (DMA & SPI) has already been talked about on numerous threads in the microchip forum, actually i've read all the 15 pages in result of the search with keyword "dma" and read all the topics about dma & spi.

And I am still stuck with my problem I hope someone can help me :)

Here is the problem.

My chip is a PIC32MX775F512H. I am trying to receive (only receive) data using SPI via DMA. Since you cannot "just" receive in SPI, and that the SPI core starts toggling the SPI clock only if you write into the SPIBUF (SPI1ABUF for me) I am trying to receive my data using 2 DMA channels. DMA_CHANNEL1 for the transmitting part. DMA_CHANNEL2 for the receiving part.

I copy pasted the code from http://www.microchip.com/forums/tm.aspx?tree=true&high=&m=562453&mpage=1#

And tried to make it work without any luck. It only receives several bytes (5 or 6).

I've set the Event Enable Flags to DMA_EV_BLOCK_DONE for both dma channels, no interrupt occurs.

Do you have any idea ?

Here is the code I am using :

with those two interrupt handlers :

So I end up waiting forever at the line : while(!DmaRxIntFlag);

I have put breakpoints in the interrupt vectors, they are never called.

This is the state of several registers during the ever lasting wait :

DMACON 0x0000C800
DMASTAT 0x00000001

I am using SPI1A port, so SPI1ABUF and _SPI1A_RX_IRQ

DCH1SPTR 0x5
DCH1SSIZ 0x2B

DCH2DPTR 0x6
DCH2DSIZ 0x2B

DCH2CON 0x00008083
DCH2ECON 0x1B10
DCH2INT 0x00800C4
DCH2SSA 0x1F805820
DCH2DSA 0x00000620

Channel 1 is used to transmit
Channel 2 is used to receive

0 投票する
3 に答える
4604 参照

c - PIC16F1947 をデバッグするには、どのコンフィギュレーション ビットを使用する必要がありますか?

PIC16F1947 の構成ビットで行き詰まっています。私はPICプログラミングが初めてなので、詳細に答えてください。

私は次の設定をしています:

  • MPLAB 8.46
  • MPLAB ICD 3
  • HI-TECH C コンパイラ 9.81

PIC16F1947 PIM (プラグイン モジュール) が PICDEM LCD 2 デモ ボードに接続されています。ボードは 3 V バッテリーで駆動され、J15 ジャンパーはマニュアルに従って接続されました (J15 に 1-3 接続、2-4 接続)。プロジェクトはdebug buildとしてコンパイルされます。

以下は、使用される構成ビットです。

MPLAB経由でマイクロをプログラム(ファームウェアを書き込む)できます。しかし、試してみるとDebugger > Run、出力ウィンドウに次のエラーが表示されます。

ICD3Err0040: ターゲット デバイスはデバッグの準備ができていません。続行する前に、構成ビットの設定を確認し、デバイスをプログラムしてください。

ICD3Err0040 に関するドキュメントを確認しましたが、すべて問題ないようです。

私が間違っていることは何ですか?助けてください。

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

embedded - マイクロチップ pic32 の node.js

lua がマイクロチップ PIC32 で動作していることは知っていますが、node.js (サーバー用の JavaScript) も動作するのでしょうか、それとも PIC32 に対して lib が大きすぎるか遅すぎるのでしょうか。

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

c - pic 18f4550のPORTBbits.RB7からどの値をアスペクトできますか

PORTBbits.RB7 からどの値を期待できますか。このポートには、抵抗が接続された緑色の LED があります (写真を参照)。私は mplab ide v8.63 と mplab マイクロチップの C コンパイラ C18 で pic F184550 を使用しています。または、この値を確認するには、パテに書き込む必要がありますか。ありがとうここに画像の説明を入力

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

c - LDRから価値を得る

マイクロチップ v8.63 と c コンパイラを搭載した picdem 18F4550 を使用しています。私が使用しているコンポーネントは次のとおりです。 - 3 つの LED (赤、緑、青)。- LDR (327700 NORPS-12 ファーネル)。

出力として RB4、RB5、RB6 に 3 つの LED (赤、緑、青) を接続しました。また、RB1 に LDR を接続します。

私の質問は、別の LED の緑色が点灯したときに、LDR が測定するコード内の値を取得するにはどうすればよいですか?

私は自分のコードを含めました:

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

c - ポート RA0 を入力として有効にし、led から値 LDR を取得します

私はC18コンパイラを搭載したマイクロチップv8.63でpicdem 18F4550を使用しています。

PortA を入力として設定できるようにし、ポート RA0 に LDR を接続します。これは次のとおりです(私は思う)

LDR の値 (LED がオンの場合の電圧/値) が必要な場合は、次のように言えます。

そして、int 型の変数には、私の Led の値/電圧があります。

私が間違っている場合は修正してください。

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

microchip - MPLAB IDE での相対パスの使用

私のプロジェクト構造とファイルは次のとおりです。

「プロジェクト」はプロジェクト名のプレースホルダーです。MPLAB IDE 8.66 と HI-TECH Compiler 9.81 を使用しています。

プロジェクトへの相対パスを使用して hw_lcd.h/c ファイルを追加したいと思います。app.cに書く#include "HAL/hw_lcd.h"と、app.c から hw_lcd.h が見つかるようにします。

インクルード検索パスとして追加しまし../た(プロジェクト>ビルドオプション...>プロジェクト>ディレクトリと検索パス>検索パスを含める)が、次のエラーが発生しました:

インクルード ファイル "hw_lcd.h" を開けません: そのようなファイルまたはディレクトリはありません

次に../HAL、検索パスをインクルード#include "hw_lcd.h"してapp.cに書き込んでみました。これにより、上記のエラーも生成されます。

MPLAB IDE 内から相対検索パスを使用することは可能ですか?

#includeパス自体が相対パスの場合、次のように機能します。