問題タブ [progmem]

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 に答える
1038 参照

c - PROGMEMからCで16進数のchar配列のサイズを見つける

私は AT90 マイクロ コントローラーに取り組んでおり、画面にさまざまなフォントを表示する作業を行っています。私のフォント定義の一部として、以下に 16 進数の char 配列があります。この質問の目的のために、char 配列を短縮して 4 文字のみを表します。

を実行すると、20 という正しいsizeof(font5x7)答えが得られfont5x7ます。これが本当のものです:475225

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

memory-management - Arduino スケッチをプログラム変数に保存する

Arduino スケッチをプログラム変数に保存したいのですが、文字列の形式で保存することを考えましたが、多くのスペースが必要ですが、代わりに 16 進数を保存することを考えました。これを行う方法について何か考えはありますか?使用する構文?

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

arduino - Arduino PROGMEMの構造体から文字列を読み取る

Arduino PROGMEM に格納されている構造体から文字列を読み取りたい:

このコードは文字列をうまく出力します:

このコードは、プログラムを爆撃して再起動します。

ポインターを返すコードは何cmd.nameですか?

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

c++ - PROGMEM の構造体の Arduino 配列

2 つのピエゾ素子を備えたスタンドアロンのATmega328Pを使用して音楽を生成しています。

音符の周波数でいくつかの定数を定義しました。次に、1 番目と 2 番目のピエゾの音と音の長さを含む構造体を定義しました。次に、これらの構造体の配列をさらに作成して、各曲を記述しました。

問題は、この方法ではメモリがすぐに不足することです。この問題を回避するために、構造体の配列を PROGMEM に格納しようとしました。PROGMEM_readAnything、memcpy_P() または pgm_read_word() および pgm_read_byte() 関数と呼ばれる小さなライブラリを使用しようとしましたが、すべての場合で同じ問題が発生します。

NOTES の配列をループすると、一部の要素がスキップされ、他の要素は正しく読み取られて再生されます。ランダムな要素だけでなく、常に同じ要素をスキップします。

チップのどこかが壊れたのではないかと思い、マイコンを交換してみましたが、同じスケッチをアップロードしても同じ結果でしたので、マイコンはおそらく無傷です。

コードは次のとおりです。

シリアルモニターで何が起こるかを確認するためにいくつかの行を追加しました。正しい長さを読み取ります...

シリアル モニタの出力は次のとおりです。

なぜそれが起こるのですか?または、この問題を解決するためのより効率的な方法はありますか?

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

c++ - Arduino プログラムが文字化けしたデータを読み返す

私は小さなHTTPサーバーに取り組んでいます。私はルーターを構築していますが、かなりの数のルートが存在する可能性があるため、貴重な SRAM を使用する必要がないように、それらをフラッシュ メモリに入れたいと考えていました。ただし、フラッシュから保存されたデータを読み戻すことができないように見えるため、何かが正しく理解されていないか、奇妙なことが起こっています。

関数ポインターと char ポインターを含む構造体があります。これらの構造体の配列をフラッシュに保存して読み返したいと思います。ただし、小さなデバッグ プリントでは、char ポインタを正しく読み取れないことがわかります。シリアルポートにガービッシュを出力します。

ここに小さな例があります。