#ifndef __MY1UTILS_H__ #define __MY1UTILS_H__ unsigned char uint8_2cstr(char* cstr, unsigned char that) { unsigned char size, temp; size = 0; temp = that/100; if (temp) { that %= 100; cstr[size++] = temp + 0x30; } temp = that/10; if (temp) { that %= 10; cstr[size++] = temp + 0x30; } else if (size) cstr[size++] = 0x30; cstr[size++] = that + 0x30; cstr[size] = 0x0; return size; } unsigned char int8_2cstr(char* cstr, signed char that) { if (that<0) { that = -that; *cstr = '-'; cstr++; } return uint8_2cstr(cstr,(unsigned char)that); } unsigned char uint16_2cstr(char* cstr, unsigned int that) { unsigned char size, temp; unsigned int idiv; size = 0; idiv = 10000; while (idiv>=10) { temp = (unsigned char)(that/idiv); if (temp) { that %= idiv; cstr[size++] = temp + 0x30; } else if (size) cstr[size++] = 0x30; idiv /= 10; } cstr[size++] = that + 0x30; cstr[size] = 0x0; return size; } unsigned char int16_2cstr(char* cstr, int that) { if (that<0) { that = -that; *cstr = '-'; cstr++; } return uint16_2cstr(cstr,(unsigned int)that); } unsigned char cstr_2uint8(char* pstr, unsigned char* pval) { unsigned char loop; *pval = 0; loop = 0; while (pstr[loop]) { if (pstr[loop]<0x30||pstr[loop]>0x39) { loop = 0; break; } *pval = (*pval*10) + (pstr[loop]-0x30); loop++; } return loop; } unsigned char cstr_2uint16(char* pstr, unsigned int* pval) { unsigned char loop; *pval = 0; loop = 0; while (pstr[loop]) { if (pstr[loop]<0x30||pstr[loop]>0x39) { loop = 0; break; } *pval = (*pval*10) + (pstr[loop]-0x30); loop++; } return loop; } unsigned char cstr_2int16(char* pstr, int* pval) { unsigned char loop, skip; skip = (pstr[0]=='-') ? 1 : 0; loop = cstr_2uint16(&pstr[skip],(unsigned int*)pval); if (skip) *pval = -(*pval); return loop; } #endif /** __MY1UTILS_H__ */