問題タブ [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.
c - PROGMEMからCで16進数のchar配列のサイズを見つける
私は AT90 マイクロ コントローラーに取り組んでおり、画面にさまざまなフォントを表示する作業を行っています。私のフォント定義の一部として、以下に 16 進数の char 配列があります。この質問の目的のために、char 配列を短縮して 4 文字のみを表します。
を実行すると、20 という正しいsizeof(font5x7)
答えが得られfont5x7
ます。これが本当のものです:475
225
memory-management - Arduino スケッチをプログラム変数に保存する
Arduino スケッチをプログラム変数に保存したいのですが、文字列の形式で保存することを考えましたが、多くのスペースが必要ですが、代わりに 16 進数を保存することを考えました。これを行う方法について何か考えはありますか?使用する構文?
arduino - Arduino PROGMEMの構造体から文字列を読み取る
Arduino PROGMEM に格納されている構造体から文字列を読み取りたい:
このコードは文字列をうまく出力します:
このコードは、プログラムを爆撃して再起動します。
ポインターを返すコードは何cmd.name
ですか?
c++ - PROGMEM の構造体の Arduino 配列
2 つのピエゾ素子を備えたスタンドアロンのATmega328Pを使用して音楽を生成しています。
音符の周波数でいくつかの定数を定義しました。次に、1 番目と 2 番目のピエゾの音と音の長さを含む構造体を定義しました。次に、これらの構造体の配列をさらに作成して、各曲を記述しました。
問題は、この方法ではメモリがすぐに不足することです。この問題を回避するために、構造体の配列を PROGMEM に格納しようとしました。PROGMEM_readAnything、memcpy_P() または pgm_read_word() および pgm_read_byte() 関数と呼ばれる小さなライブラリを使用しようとしましたが、すべての場合で同じ問題が発生します。
NOTES の配列をループすると、一部の要素がスキップされ、他の要素は正しく読み取られて再生されます。ランダムな要素だけでなく、常に同じ要素をスキップします。
チップのどこかが壊れたのではないかと思い、マイコンを交換してみましたが、同じスケッチをアップロードしても同じ結果でしたので、マイコンはおそらく無傷です。
コードは次のとおりです。
シリアルモニターで何が起こるかを確認するためにいくつかの行を追加しました。正しい長さを読み取ります...
シリアル モニタの出力は次のとおりです。
なぜそれが起こるのですか?または、この問題を解決するためのより効率的な方法はありますか?
c++ - Arduino プログラムが文字化けしたデータを読み返す
私は小さなHTTPサーバーに取り組んでいます。私はルーターを構築していますが、かなりの数のルートが存在する可能性があるため、貴重な SRAM を使用する必要がないように、それらをフラッシュ メモリに入れたいと考えていました。ただし、フラッシュから保存されたデータを読み戻すことができないように見えるため、何かが正しく理解されていないか、奇妙なことが起こっています。
関数ポインターと char ポインターを含む構造体があります。これらの構造体の配列をフラッシュに保存して読み返したいと思います。ただし、小さなデバッグ プリントでは、char ポインタを正しく読み取れないことがわかります。シリアルポートにガービッシュを出力します。
ここに小さな例があります。