M
M
MWX Library
検索…
v0.1.9
The MWX Library
改版履歴
MWXライブラリについて
インストール・ビルド
サンプルアクト
API
定義
クラスオブジェクト
クラス
コールバック関数
ビヘイビア
関数
システム関数
DIO 汎用ディジタルIO
ユーティリティ関数
Printf utils
pack_bits()
collect_bits()
Byte array utils
pack_bytes()
expand_bytes()
CRC8, XOR, LRC
div100()
Scale utils
ボード (BRD)
センサー・デバイス (SNS)
ネットワーク (NWK)
設定 (STG) - インタラクティブモード
GitBook
上で動作しています
collect_bits()
整数から指定したビット位置の値を取得し、指定した順番のビットマップを作成します。
1
constexpr
uint32_t
collect_bits
(
uint32_t
bm
,
...)
Copied!
パラメータbmに指定する値から、その後の可変数パラメータで指定する0..31のビット位置に対応する値を取り出します。取り出した値はパラメータ順に並べビットマップとして戻り値になります。
ビットマップの並び順は、最初のパラメータを上位ビットとし末尾のパラメータがbit0になります。
1
uint32_t
b1
=
0x12
;
// (b00010010)
2
uint32_t
b2
=
collect_bits
(
b1
,
4
,
2
,
1
,
0
);
3
// bit4->1, bit2->0, bit1->1, bit0->0
4
// b2=0x10 (b1010)
Copied!
例ではb1のビット4,2,1,0を取り出すと (1,0,1,0) になります。これをb1010として0x10のように計算されます。
背景
IOポート(DI,DO)の状態など各種ビットマップに値を参照・設定する場面があり、その記述を簡素化するため。
前
pack_bits()
次
Byte array utils
最終更新
6mo ago
PDFに出力
リンクのコピー
目次
背景