/*
帮助转换十六进制数据到格式字符串
*/
#define MAX_HEX_STR 4
#define MAX_HEX_STR_LENGTH 128
char hexStr[MAX_HEX_STR][MAX_HEX_STR_LENGTH];
uint8_t hexStrIdx = 0;
/**
*****************************************************************************
* @brief helper to convert hex data into formated string
*
* @param[in] data : pointer to buffer to be dumped.
* @param[in] dataLen : buffer length
*
* @return pointer to converted data
*****************************************************************************
*/
char* hex2Str(unsigned char * data, size_t dataLen)
{
unsigned char * pin = data;
const char * hex = "0123456789ABCDEF";
char * pout = hexStr[hexStrIdx];
uint8_t i = 0;
uint8_t idx = hexStrIdx;
if(dataLen == 0)
{
pout[0] = 0;
}
else
{
for(; i < dataLen - 1; ++i)
{
*pout++ = hex[(*pin>>4)&0xF];
*pout++ = hex[(*pin++)&0xF];
}
*pout++ = hex[(*pin>>4)&0xF];
*pout++ = hex[(*pin)&0xF];
*pout = 0;
}
hexStrIdx++;
hexStrIdx %= MAX_HEX_STR;
return hexStr[idx];
}
2925

被折叠的 条评论
为什么被折叠?



