//******************************************************************** // Ver 1.0 // 2020.12.24 1、新建文件 //******************************************************************** #include "config.h" //十进制数转ASCII码 void STR_Dec2Ascii(INT32S Value,INT8U *ptr,INT8U Len,INT8U zFlag) { INT8U i,nFlag = 0; i = Len; if(Value < 0) { Value = 0-Value; nFlag = 1; } while(i--) { ptr[i] = '0'+Value%10; Value /= 10; } for(i=0; i<(Len-1); i++) { if(ptr[i] != '0') { zFlag = 1; if(nFlag != 0) { ptr[i-1] = '-'; } } if(zFlag == 0) ptr[i] = ' '; } } //十六进制数转ASCII码 const INT8U ASCII_Tab[]={"0123456789ABCDEF"}; void STR_Hex2Ascii(INT32S Value,INT8U *ptr,INT8U Len) { INT8U i; i=Len+2; while(i--) { ptr[i]=ASCII_Tab[Value&0x000f]; Value>>=4; } ptr[0]='0'; ptr[1]='x'; } //字符串比较 INT8U STR_Compare(char *ptr1, char *ptr2) { do { if (*ptr2 == 0) { return (0); } if (*ptr1++ != *ptr2++) { return (1); } } while (1); } //无符号数字加减 INT32U STR_NumAddOrSub(INT32U Value,INT32U Max,INT32U Min,INT8U AddOrSub,INT8U Step,INT8U Loop) { if(AddOrSub == NUM_ADD) { Value+=Step; if(Value > Max) { if (Loop == NUM_LOOP) //数据加到最大值,且循环操作 { Value=Min; } else { Value=Max; } } } else if(AddOrSub == NUM_SUB) { Value-=Step; if((Value > Max) || (Value < Min)) { if (Loop == NUM_LOOP) //数据减到最小值,且循环操作 { Value=Max; } else { Value=Min; } } } return(Value); }