問題タブ [dspic]

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

bit-manipulation - 単語内のビットを回転させる方法

dsPIC33F と GCC を使用しています。次のように、単語内のビットを左または右に 1 回回転させたい:

(明確でない場合、LSB は右回転の MSB の位置に移動し、その逆も同様です。)

私のプロセッサにはすでに右回転 (rrnc、rrc) 命令と左回転命令 (rlnc、rlc) があるので、コンパイラがこれを最適化してくれることを期待しています。そうでない場合は、インライン アセンブリを使用する必要があるかもしれません。

0 投票する
7 に答える
5493 参照

c - 8x8ブロックのビットをビットに転置する最速の方法は何ですか?

私がやろうとしていることの正確な用語はわかりません。に格納された8x8ブロックがあり、各バイトは1行を格納します。終了したら、各バイトに1つの列を格納します。bits8 bytes

たとえば、私が終了したとき:

What is the easiest way to do this in C which performs well? This will run on a dsPIC microcontroller

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

c - dsPic30F4011 のマスクとフィルター処理

CAN 用に dsPIC30F4011 をプログラミングしています。しかし、識別子、マスク、フィルターの指定に問題があります。

私は標準識別子とエクステンデット識別子を使用します。ビット 16-23 には、トランシーバーのアドレスを書き込みます。したがって、00000 00000001 0000000000000001 のように見えます。スペースは、次のビットを設定したトランシーバー部分を示すためのものです。

今、マスクと設定したフィルターに問題があります

今、私は何も受け取りません。私が設定した場合

すべてのメッセージを受け取ります。トランシーバーアドレスで試してみました

それで、私は何か悪いことをしましたか?(そう思うのですが、よくわかりません)

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

microchip - dsPIC33EV256GM002 の PWM 設定

dsPIC33EV256GM002 で PWM 波形を生成する簡単なプログラムを開発しましたが、無効にできません。PWM1 と PWM2 を使用し、PWM1L1 ピン (DIP パッケージのピン 26) で PWM 波形を生成し、PWM1H1 (DIP パッケージのピン 25) をデジタル I/O として維持します。理論的には PWM レジスタの設定: IOCON1bits.PENL = 1; /* PWM1L は PWM モジュールによって制御されます/ IOCON1bits.PENH = 0; / PWM1H は GPIO モジュールによって制御されます */ そうする必要がありますが、オシロスコープを使用して、PWM1H1 ピンの PWM 波形が反対の値 (PWM1L が 1 の場合、PWM1H が 0 で、その逆) であることに気付きました。 O.

同様の問題は見つかりましたか?

何卒ご理解とご協力を賜りますようお願い申し上げます

よろしく

次のコードを使用しました。

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

c# - Unity と dsPIC33F を使用したシリアル ポートの読み取り

14 バイト目が改行である dsPIC 側から 14 バイトのデータを送信しています。Unity5ゲームエンジンを使用してシリアルポートデータを読み取るにはどうすればよいですか。私はさまざまな方法 (read()、readline()、readBytes() など) を使用していくつかのブログを読みました。一般的な提案は、serial.Read を使用することです。これを試したところ、Unity が動かなくなってしまいました。以下に示すサンプル プログラムでも同じ問題が発生します。誰かがこれを処理する適切な方法を提供できますか。

ありがとう、よろしく、アキル。

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

uart - dspic33ev256gm002 UART

dsPIC33EV256GM002 を使用してプロジェクトを開発しており、その UART を使用したいと考えています。

そこで、PIN18 を RX として、PIN17 を TX として使用することにしたので、PPS を次のようにプログラムしました。

PIN18 (RB 9) を入力として、TRISB の bit9 を設定します。

外部 8M XTAL を使用し、M、N1、および N2 パラメータを次のように設定しました。

TX/RX ポートを 31250,N,8,1 (標準 MIDI パラメータ) に設定したい

参考までに、これは OSC 構成です

フレーミングエラーを検出したためにシリアル RX からのデータを検出できないため、使用した設定が正しいかどうかを知ることができます。

同様の経験はありますか?

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

comparator - dsPIC33EP512MU810 アナログ コンパレータが動作しない

dsPIC33EP512MU810 でアナログ コンパレータを動作させるのに問題があります。2 つの外部電圧を比較したい。C1IN1+ に接続されているのは基準電圧 (1.5V) で、C1IN1- は可変電圧 (1.1 - 1.9V) です。立ち上がりエッジと立ち下がりエッジの両方でイベント トリガーを生成するように設定しましたが、プログラムの開始時にのみ割り込みが発生し、その後は何も発生しません。

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

arrays - ある配列から別の配列に n 番目ごとの要素をコピーする

ある配列から別の配列に n 番目ごとの要素をコピーする方法を知っている人はいますか? たとえば、配列 Data[x] があり、3 つおきの要素 (Data[0]、Data[3]、Data[6] など) を新しい配列 Data2[j] にコピーしたいとします。for ループを使用しようとしましたが、成功しませんでした。