私はRaspi 3とArduinoにBluetoothシリアル経由でバイトを送ります。CとPythonのバイトからLSBを抽出する方法は?
0b00000011
(モード)、0b01000001
(モード)、0b10010000
(方向)
バイトは、方向コマンドまたはモードを切り替える指示であるので、私はArduinoのCおよびPythonでそれを抽出する必要がある場合、LSBを示しています。
誰でもこれを行う方法を知っていますか? ありがとうございます!
私はRaspi 3とArduinoにBluetoothシリアル経由でバイトを送ります。CとPythonのバイトからLSBを抽出する方法は?
0b00000011
(モード)、0b01000001
(モード)、0b10010000
(方向)
バイトは、方向コマンドまたはモードを切り替える指示であるので、私はArduinoのCおよびPythonでそれを抽出する必要がある場合、LSBを示しています。
誰でもこれを行う方法を知っていますか? ありがとうございます!
は、ビット操作を使用:
Cコード
char b = 0x01;
if(b & 0x01) {
// LSB is set
}
else {
// LSB is not set
}
Pythonコード
b = 0x01
if (b&0x01)==0x01 :
# LSB is set
else:
# LSB is not set
LSB = L東S ignificantをBそれは(あなたの場合)
このエラーは次のように表示されます:トレースバック(最新のコール最後): ファイル "/home/pi/Desktop/test.py"、行11、
@ the_dani、PythonでCコードを実行する – Dorin
よかったですよ、あなたはPythonでそれを行う方法を知っていますか? –
ここで見る:http://stackoverflow.com/questions/21341338/extract-lsb-bit-from-a-byte-in-python – arman
両方の言語で 'value&1' 。 –
数値のあるビットの値を抽出する通常の方法は、ビット単位の "and"演算で他のビットをマスクすることです。 PythonとCはその演算子を同じ方法で綴ります: '&'。 –