私は4バイトのデータストリームを持っていますが、私はそれらを分割して別の変数に割り当てることを希望しました。私が受け取るデータは16進形式であることに留意してください。 P_settings上記4バイトのデータをどのように解読してそれに応じて分割し、意味のある変数に割り当てるのですか?
P_settings 4bytes p_timeout [6:0]
p_s_detected[7]
p_o_timeout [14:8]
p_o_timeout_set [15]
override_l_lvl [23:16]
l_b_lvl [31:24]
は4バイトである、のは言わせて、私は彼らが現在p_timeout [6:0] requires 7 bits of those 4 byte.
、私はビットにちょうど1バイトの分割is..for試してみましたが、実装のようなビットにバイト分割することを望んでいました。
var soch = ((b_data>> 0)& 0x7F); if i want first 7 bits
私は4バイトのためにそれをどのように行うのですが、このような
あなたはUINTを使用して考えがありますか? 32ビットです。一般的に、必要なビットが4バイトの値で異なるバイトに分割されている場合、それらが別々のバイトにあるという事実を心配する必要はありません。すなわち、バイト結果=((b_data&0x000ff000)>> 12)はビット12-20を引き出すでしょう。 –