modbus_set_bits_from_bytes


機能

 

複数のバイト情報からビット情報を取得します。

 

書式

 

modbus_set_bits_from_bytes( dest , index , nb_bits , tab_byte )

 

引数

 

dest [ C: uint8_t * ] [ Python: ctypes.POINTER(ctypes.c_int) ]

変換されたビット情報を格納する配列の先頭アドレスを指定下さい。

 

index [ C: int ] [ Python: ctypes.c_int ]

dest配列において、変換されたビット情報をセットする開始位置を指定下さい。

 

nb [ C: uint ]  [ Python: ctypes.c_uint ]

変換するbit数を指定下さい。

 

tab_byte [ C: uint8_t * ] [ Python: ctypes.POINTER(ctypes.c_uint8) ]

ビット情報に変換するデータを格納した配列の先頭アドレスを指定下さい。

 

戻り値

 

なし

 

説明

 

バイト配列からビット情報に変換します。配列の先頭からバイト情報を取得し、ビット情報に変換します。

 

変換されたビット情報は配列destに格納されます。indexで指定された位置から格納することが可能です。

 

使用例

 

バイト情報配列[10, 0, 10, 0]からビット配列[ 0, 1, 0, 1]を取得します。

 

C

uint8_t dest[4];

uint8_t tab_byte[] = {10, 0, 10, 0};

modbus_set_bits_from_bytes( dest, 0, 4, tab_byte );

 

Python

uint8_buff_type = ctypes.c_uint8 * 4

dest = uint8_buff_type()

tab_byte = uint8_buff_type()

tab_byte[0], tab_byte[1], tab_byte[2], srtab_byte[3] = (10, 0, 10, 0)

modbus.modbus.set_bits_from_bytes(dest, 0, 4, tab_byte)