result = paramBuffer[i] -'A'+10;
}
else
{
//出现范围之外的数据,返回1
return 1;
}
valueResult += (u32)(result*fac);
fac /= 16;
}
//计算完成,检测参数是否超过范围
if(valueResult > 0xff)return 1;//参数错误
else
{
*value = (u8)valueResult;
return 0;
}
}
else
{
//参数开头不对
return 1;
}
}
//从命令字符串中获取参数并转换参数,将0x格式的字符串转换为数值 成功返回0 失败返回1
u8 CommandGetParamToHexU16(u16* value,u8 index)
{
u8 result;
u32 valueResult = 0;
u8 i = 0;
u32 fac = 1;
result = CommandGetParamStr(paramBuffer,PARAM_COVERT_MAX_LENGTH,¶mLength,index);
if(result == 0)return 1;//找不到这么多参数
//检测参数长度,因为开头必须为0x,所以长度必须为3以上
if(paramLengt