#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