57 lines
1.4 KiB
C
57 lines
1.4 KiB
C
|
#ifndef HW_LIB_TOOL_H
|
||
|
#define HW_LIB_TOOL_H
|
||
|
|
||
|
typedef unsigned int u32;
|
||
|
typedef unsigned short u16;
|
||
|
typedef unsigned char u8;
|
||
|
typedef int s32;
|
||
|
typedef short int s16;
|
||
|
typedef char s8;
|
||
|
|
||
|
typedef union {
|
||
|
int i;
|
||
|
char c[4];
|
||
|
float f;
|
||
|
s8 s8[4];
|
||
|
s16 s16[2];
|
||
|
s32 s32;
|
||
|
u8 u8[4];
|
||
|
u16 u16[2];
|
||
|
u32 u32;
|
||
|
} Data32;
|
||
|
|
||
|
typedef union {
|
||
|
char c[2];
|
||
|
s8 s8[2];
|
||
|
s16 s16;
|
||
|
u8 u8[2];
|
||
|
u16 u16;
|
||
|
} Data16;
|
||
|
|
||
|
/**
|
||
|
* @Name Mapping
|
||
|
* @brief 数据映射(缩放)
|
||
|
* @param val: [输入] 数据采集值
|
||
|
* @param I_Min: [输入] 数据最小值
|
||
|
* @param I_Max: [输入] 数据最大值
|
||
|
* @param O_Min: [输入] 需求最小值
|
||
|
* @param O_Max: [输入] 需求最小值
|
||
|
* @retval 需求处理值
|
||
|
* @example Mapping(128,0,4096,0.0,3.3) //0.10
|
||
|
* ADC采集引脚电压
|
||
|
**/
|
||
|
float Mapping(float val, float I_Min, float I_Max, float O_Min, float O_Max);
|
||
|
/**
|
||
|
* @brief 数组内容HEX打印
|
||
|
* @param name: [输入] 标识名
|
||
|
* @param buf: [输入] 数组
|
||
|
* @param size: [输入] 数组类型大小 [8,16,32]
|
||
|
* @param len: [输入] 数组长度
|
||
|
* @param frame: [输入] 断帧大小
|
||
|
* @return void
|
||
|
* @example BufPrint("TX", buf, 8, 64, 16); //将长64的8位buf以16个数据断帧打印
|
||
|
**/
|
||
|
void BufPrint(char *name,void *buf,unsigned char size,unsigned int len,unsigned char frame);
|
||
|
|
||
|
#endif //HW_LIB_TOOL_H
|