HW_Lib/lib/inc/tool.h

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