例一 u32类型数据传进 u8数组中
uint32_t DAL_Uint8ToUint32(uint8_t *p8Data)
{
typedef union
{ //...
uint8_t au8Value[4];
uint32_t u32Value;
}tuValue;
tuValue uValue;
if(p8Data == NULL) return 0;
uValue.au8Value[0] = p8Data[3];
uValue.au8Value[1] = p8Data[2];
uValue.au8Value[2] = p8Data[1];
uValue.au8Value[3] = p8Data[0];
return uValue.u32Value;
}
u8数组传进 返回u32数据
uint32_t DAL_Uint8ToUint32(uint8_t *p8Data)
{
typedef union
{ //...
uint8_t au8Value[4];
uint32_t u32Value;
}tuValue;
tuValue uValue;
if(p8Data == NULL) return 0;
uValue.au8Value[0] = p8Data[3];
uValue.au8Value[1] = p8Data[2];
uValue.au8Value[2] = p8Data[1];
uValue.au8Value[3] = p8Data[0];
return uValue.u32Value;
}
将串口接收的u8数组 转换成浮点型float
float DAL_Uint8Tof4Float(uint8_t *p8Data)
{
typedef union
{ //...
uint8_t au8Value[4];
float fValue;
}tuValue;
tuValue uValue;
if(p8Data == NULL) return -1;
uValue.au8Value[0] = p8Data[3];
uValue.au8Value[1] = p8Data[2];
uValue.au8Value[2] = p8Data[1];
uValue.au8Value[3] = p8Data[0];
return uValue.fValue;
}
浮点float转成u8数组
DAL_f4FloatToUint8(float fData,uint8_t *p8Data)
{
typedef union
{ //...
uint8_t au8Value[4];
float fValue;
}tuValue;
tuValue uValue;
if(p8Data == NULL) return;
uValue.fValue = fData;
p8Data[0] = uValue.au8Value[3];
p8Data[1] = uValue.au8Value[2];
p8Data[2] = uValue.au8Value[1];
p8Data[3] = uValue.au8Value[0];
}