問題タブ [pic]

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

c - ここで uint16_t が違いを生むのはなぜですか?

Linux で gcc を使用してコードをコンパイルするとr7.
同じコードを Microchip C18 でコンパイルするとr0.
なんで?

それを次のように変更すると:

r7もC18になります。

C18 のマニュアルに整数昇格に関するセクションがありますが、私の質問とは関係ないと思います。とにかく、ここにあります:

ISO は、すべての演算を int 精度以上で実行することを義務付けています。デフォルトでは、MPLAB C18 は両方のオペランドが int より小さい場合でも、最大のオペランドのサイズで演算を実行します。ISO で義務付けられている動作は、-Oi コマンドライン オプションを使用して設定できます。

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

inline-assembly - 構文エラー写真18:RCNTEQU0x20およびMYREGEQU0x21

microchipv8.63のCコンパイラでpic18F4550を使用しています。「PICマイクロコントローラーとアセンブリを使用した組み込みシステムとpic18のc」という本の次のコードを使用しています。

次のラインコードで、構文エラーが発生します:RCNTEQU0x20およびMYREGEQU0x21。

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

c - Doug Lea アロケーターでの malloc の奇妙な動作

ヒープが 16kb しかなく、mmap も swap もない非常に小さなシステムを使用しています。Doug Lea アロケータftp://g.oswego.edu/pub/misc/malloc-2.8.5.cの最新バージョン 2.8.5 を使用しています。

更新 理解しやすく、何が問題なのかを確認するための小さなテストケースを作成しました

8kb を割り当て、解放し、12kb を割り当てると、それは機能し (i != NULL)、12kb を割り当てることができます。

表示:

最初に大きすぎるバッファー (30kb) を割り当て、次に 8kb を割り当て、それを解放し、12kb を割り当てた場合、それは機能しています (i == NULL)、12kb を割り当てることができません:

表示:

常に 1 つの割り当てのみが行われ、別のブロックを割り当てる前に解放されるため、メモリが断片化されることはありません。

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

audio - .wav ファイルのデータを pic18F4550 のフラッシュ メモリに入れる

ハードウェア プログラミングは初めてです。マイクロチップ バージョン 8.63 の C コンパイラを使用して pic18F4550 を使用しています。私の質問は: pic18F4550 のフラッシュ メモリに .wav ファイル (バイナリ データ) を書き込むためのサンプル コードはありますか?

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

c - 元の .wav ファイルの他のサウンド

マイクロチップ v8.63 の pic18F4550 を使用しています: picdem には C プログラム言語を使用しました: 次のプログラムを作成しました: 8 ビット 8000Hz に変換された .wav ファイルのバイナリ データを取得します (音は: 誰かが「 red")、picdem の 'rom' にデータを書き込みます。各値はポートに書き込まれます => 接続されているボックスがあります。

問題:私はここでは、元の音(誰かが言う:「赤」)ではなく、大きな他の音(ノイズやパチパチ音はありません)が聞こえますが、大きな他の音は聞こえません。

それがコードです:

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

microcontroller - PIC 16 で USART を使用する正しい方法

PIC 16 の USART 機能を使用して 1 文字を受信しようとしています。

送信機と受信機はどちらも PIC 16 です。

receive 関数の呼び出し方が概念的に正しいかどうかを確認できますか

よろしくお願いします!

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

html - .inc File Not Included Reliably

I am working on some HTML code that was inherited from another programmer, which uses include statements of the form:

However, the problem I am encountering is that this include statement does not work reliably. About 90% of the time, all information in the included file is imported with no problem, but every so often all of that content goes missing when I refresh the page and comes back in when I refresh again. I have already tried changing the include statements to more widely-used forms such as:

but this only results in the file consistently not being included at all. I have been poking around other places on the Internet, but can't seem to find any solutions or even any usage of of the '~inc:' include statement.

It is worth noting that this HTML is being loaded from firmware hosted on low-power equipment and certain items on the page are updating regularly. Is it possible that the updating methods are simply running too fast for the hardware to handle?

Does anyone have any ideas for how I can solve this problem?

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

c++ - マイクロコントローラーのプログラミング

私はこのロボット アームのプロジェクトを何人かのエンジニアと一緒に行っていますが、マイクロ コントローラーの選択はまだ決まっていませんが、現在 PIC がテストされています。C++ をサポートする Micros があるかどうか疑問に思っていましたか?

背景: 私は (Java) ソフトウェア開発者であり、組み込みシステムの初心者であり、現在は Mikro Elektronika IDE と C 言語を使用してプログラミングしています。

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

microcontroller - マイクロチップC18の通常の割り込みレイテンシとコンテキスト節約時間はどれくらいですか?

Microchip C18コンパイラを使用していますが、割り込みが発生すると、ISRコードの実行が開始されるまでにかなり長い遅延が発生します。

実験として、これは私の主な機能です:

割り込みハンドラーとして、いくつかの例からコピーしたこのコードを使用しています(なぜこのように行われたのかわかりません)。

SPI経由でバイトを受信して​​いますが、バイトを受信した直後にメインループが停止します。次に、ISRコードの実行が開始される前に、16.5 µsの遅延が続きます。これは165命令サイクルです。

割り込みタイミング 画像を拡大

割り込みに関連するコンテキストの保存がいくつかあり、優先度の低い割り込みではさらに悪化することを私は知っています。IPENを無効にし、優先度の高いベクトルのみを使用しています。165の命令は、コンテキストを保存するための通常の期間ですか?

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

microcontroller - PIC32 ブルートゥース

最後の学士プロジェクトで Bluetooth 通信を実装したいのですが、疑問がたくさんあります。

このプロジェクトの必要条件の 1 つは、Bluetooth 経由でマイクロと通信できる Java アプリケーションを用意することです。多くの調査の後、SPP プロファイルで非常に優れていると思われるものを見つけましたが、それについてはまだ多くの質問があります。

  1. PC 上のすべての Bluetooth は SPP プロファイル スタックを実装していますか?

  2. SPP スタックを実装するすべての PC で実行される Java アプリケーションを開発する必要がある場合、どのようにしますか?

  3. BlueCove と JavaBluetooth.org API を使用することから始めました。最初の API は問題なく動作しますが、それが自分の PC だけにあるかどうかはわかりません。2 番目の API はエラー (スタックが初期化されていません) を送信します。どちらを使用しますか?なぜですか?

  4. このBluetooth モジュールを Sparkfun から購入することにしましたが、既に使用している方へのコメントはありますか?

ありがとう