modbus_get_float_badc


機能

 

指定された4バイトデータをfloat値に変換します。バイトオーダーはBADC順となります。

 

書式

 

ret = modbus_get_float_badc( src )

 

引数

 

src [ C: uint16_t * ] [ Python: ctypes.POINTER(ctypes.c_uint16) ]

float変換を行うデータを格納した配列のポインタを指定下さい。

配列の要素数は2つであり、それぞれ16bitデータを含むことを前提とします。

 

戻り値

 

ret [ C: float] [ Python: ctypes.c_float ]

 

変換したfloat値を返します。

 

説明

 

指定された4バイトデータをfloat値に変換します。バイトオーダーはBADC順となります。

src配列は要素数2つであり、それぞれ16ビット値を持つことを前提とします。

 

例えば最初のワードが0x2000に設定され、2番目のワードが0x47F1に設定されている場合、float値は123456.0として変換されます。

 

使用例

 

配列[ 0x2000 , 0x47F1 ]からfloat値:123456.0を取得します。

 

C

float value;

uint16_t src = { 0x2000 , 0x47F1 };

value = modbus_get_float_badc( src );

 

Python

value = ctypes.c_float

uint16_buff_type = ctypes.c_uint16 * 2

src = uint16_buff_type()

src[0], src[1] = ( 0x2000 , 0x47F1 )

value = modbus_get_float_badc( src )