引入mqtt 引入cjson
This commit is contained in:
1 parent
a69c1a58d6
commit
f8591b8b99
86 files changed
+12141
-2157
No files matched your search
+81
-2
@@ -1,7 +1,7 @@
|
||||
#include "util.h"
|
||||
#include <ctype.h>
|
||||
|
||||
|
||||
float Bytes2Float(char * data)
|
||||
float Bytes2Float (char * data)
|
||||
{
|
||||
Float ff ;
|
||||
ff.byte[0] = data[1];
|
||||
@@ -11,6 +11,85 @@ float Bytes2Float(char * data)
|
||||
return ff.data;
|
||||
}
|
||||
|
||||
uint32_t Bytes2Int (char * data)
|
||||
{
|
||||
Int I;
|
||||
I.byte[0] = data[1];
|
||||
I.byte[1] = data[0];
|
||||
I.byte[2] = data[3];
|
||||
I.byte[3] = data[2];
|
||||
return I.data;
|
||||
}
|
||||
|
||||
|
||||
// -----------------------------------------------------------------
|
||||
// 函数功能: hex字符串转byte数组
|
||||
// 函数名称: hexbyte_to_hex_str
|
||||
// 参数1 : src 源字符串
|
||||
// 参数2 : obj 目标字节数组
|
||||
// 说明 : "01020304" --> {0x01,0x03,0x03,x04} 或 "01 02 03 04"->{0x01,0x03,0x03,x04}
|
||||
// 返回值 : 1 成功
|
||||
// -----------------------------------------------------------------
|
||||
int hexstr_to_hexbyte (char *src, char *obj, uint16_t length)
|
||||
{
|
||||
char h1, h2;
|
||||
uint8_t s1, s2;
|
||||
int i;
|
||||
length = length / 2;
|
||||
for (i = 0; i < length; i++)
|
||||
{
|
||||
h1 = src[2 * i];
|
||||
h2 = src[2 * i + 1];
|
||||
|
||||
s1 = toupper (h1) - 0x30;
|
||||
if (s1 > 9)
|
||||
s1 -= 7;
|
||||
s2 = toupper (h2) - 0x30;
|
||||
if (s2 > 9)
|
||||
s2 -= 7;
|
||||
obj[i] = s1 * 16 + s2;
|
||||
}
|
||||
return length;
|
||||
}
|
||||
|
||||
|
||||
// 754 转float
|
||||
float float_to_iee754 (float ff1,char * data)
|
||||
{
|
||||
Float ff;
|
||||
ff.data = ff1;
|
||||
data[0] = ff.byte[3];
|
||||
data[1] = ff.byte[2];
|
||||
data[2] = ff.byte[1];
|
||||
data[3] = ff.byte[0];
|
||||
|
||||
return ff.data;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 754 转float
|
||||
float iee754_to_float (char * data)
|
||||
{
|
||||
Float ff;
|
||||
ff.byte[3] = data[0];
|
||||
ff.byte[2] = data[1];
|
||||
ff.byte[1] = data[2];
|
||||
ff.byte[0] = data[3];
|
||||
return ff.data;
|
||||
}
|
||||
|
||||
|
||||
|
||||
uint32_t byte_to_Inverse(char * data)
|
||||
{
|
||||
Int I;
|
||||
I.byte[0] = data[3];
|
||||
I.byte[1] = data[2];
|
||||
I.byte[2] = data[1];
|
||||
I.byte[3] = data[0];
|
||||
return I.data;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
+12
-4
@@ -3,18 +3,26 @@
|
||||
#include <stdint.h>
|
||||
|
||||
|
||||
typedef union {
|
||||
typedef union
|
||||
{
|
||||
uint32_t data;
|
||||
char byte[4];
|
||||
} Int;
|
||||
typedef union {
|
||||
typedef union
|
||||
{
|
||||
float data;
|
||||
char byte[4];
|
||||
} Float;
|
||||
|
||||
|
||||
float Bytes2Float(char * data);
|
||||
float Bytes2Float (char * data);
|
||||
uint32_t Bytes2Int (char * data);
|
||||
int hexstr_to_hexbyte (char *src, char *obj, uint16_t length);
|
||||
float iee754_to_float (char * data);
|
||||
uint32_t byte_to_Inverse(char * data);
|
||||
// 754 תfloat
|
||||
float float_to_iee754 (float ff1,char * data);
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
Reference in new issue
Block a user