問題タブ [uint32-t]
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++ - uint32_t を char* 型に変換するにはどうすればよいですか
こんにちは、スコア値を表示するために adafruit シールドを備えた Arduino UNO を使用していますが、スコアを表示するために使用される関数は char* 値のみを受け入れ、スコア自体は最大 6 桁 (000,000 から 999,999) を占めることができます。私は sprint() を使ってみましたが、画面が狂ったようにちらつくので運がありませんでした。問題は、文字が32ビットのintに収まらない特定のバイト数しか保持できないことだと思いますが、これは回避策だと思います。draw text は、入力が char*、カラーコード、サイズ、x ピクセル、y ピクセルである画面上にものを描画するためにシールドによって使用される関数です。誰かが私がこれらの 2 つのタイプの間で変換するのを手伝ってくれるなら、私に知らせてください。また、それらが私にも役立つ代替手段である場合。
私のコード:
私も使用してみました:
c - PROGMEM に保存されたデータ型は、後でプログラム内で変更できますか?
こんにちは、私は Arduino でゲームを作成していますが、両方のタイプのスコア currScor と hiScor を追跡する 2 つのグローバル変数を保存する必要があり、uint32_t
RAM スペースを節約するために、それらをuint32_t
currScorとしてマークしましPROGMEM = 0;
た。コンパイラは、定数変数に代入できないと言います。フラッシュに保存されているこの変数に追加する方法はありますか? あまりにも多くの書き込みがそのタイプのメモリを焼き尽くしてしまうのではないかと心配していますが、EEPROM の使用を検討すべきでしょうか。
c++ - データ型を変更せずに 2 つの uint32_t を可逆的に結合する
ここに私の問題があります: 1 つの uint32_t を介して 2 つの uint32_t を返す必要があります (API の設定方法のため...)。操作を逆にするために必要な他の値をハードコーディングできますが、関数間で渡されるパラメーターは単一の uint32_t のままにする必要があります。
2 つの 32 ビット int を 1 つの 64 ビット int にビット シフトできれば (ここで説明したように) これは些細なことですが、コンパイラはそれを好まないでしょう。数学的なペアリング関数も見ましたが、この場合にそれが必要かどうかはわかりません。
私は単純な暗号を設定することを考えました: unint32_t を暗号テキストにすることができ、キーをハードコーディングするだけで済みます。これは一例ですが、やり過ぎのようです。
これは可能ですか?
arduino - adafruit BTLE 経由で uint32_t uids の配列を渡す
RFIDタグをリッスンし、uidを取得して配列に保存するarduinoスケッチがありますuint32_t
これは、adaFruit BTLEとadafruit NFC/RFID シールドを備えた arduino_uno プロジェクトです。
配列は次のように開始されます。
次に、私の loop(); で
次のようなIDを見つけました:
そのコードブロックがシリアルモニターにこれを出力するわけではありません:
Mifare Classic カードのようです #347161076 BTLE
への書き込み: 0x31 0x36 0x38 0x38 0x34
しかし、BTLEアプリは見ています
16884
「カーディッドとして?
これは、メソッドによって処理される uint32_t の奇妙なバイト変換に対するものであることは明らかですBTLEserial.print()
。
ID を見つけたら、上記の項目配列に最大 6 つを格納しています。コンマ区切りの文字列として、ブルートゥースを介してその配列全体をデバイスに送信したいと思います。
この uint32_t を文字列または BTLE で処理できる他のオブジェクトに変換するのを手伝ってください
c - 構造体メンバーをビッグエンディアンとして格納する方法
私は次のstruct
ようなものを持っています:
ファイルからの読み取りに使用mmap
するので、数字をビッグエンディアンとして保存したいと思います。
私はする必要がありますhtobe16
か、betoh16
または__attribute__
私のためにこれを行うことができるものがありますか?
c++ - ポインタとして使用される定数のキャスト
ARM プロセッサで実行されるサンプル コードを使用してきました。特定のメモリ位置を読み取るために、定数値をアドレスにキャストします。
例えば:
0xa0000000 のメモリ値を読み取りたい
サンプル コードは次のようになります。
キャスト *(uint32_t*) がよくわかりません。* 1つだけで十分だと思います。
少し説明をいただければ幸いです。
ありがとう。