|
|
发表于 2016-11-21 13:54:00
|
显示全部楼层
本帖最后由 275891381 于 2016-11-21 13:56 编辑
自己写一个不就可以了,
- String inString []= {"0xff","a0","AA"}; // 用来储存接收到的内容
- void setup()
- {
- Serial.begin(9600);
- }
-
-
- void loop()
- {
- for(int i=0;i<3;i++)
- Serial.println(ChangeNum(inString[i]));
- delay(1000);
- }
- int ChangeNum(String str)
- {
- char revstr[16]={0}; //根据十六进制字符串的长度,这里注意数组不要越界
- int num[16]={0};
- int count=1,result=0,flag=0;;
- if(str[0]=='0'&&(str[1]=='X'||str[1]=='x'))
- flag=2;
- for(int i=str.length()-1;i>=flag;i--)
- {
- revstr[i] = str[i];
- if ((revstr[i]>='0') && (revstr[i]<='9'))
- num[i]=revstr[i]-'0';
- else if ((revstr[i]>='a') && (revstr[i]<='f'))
- num[i]=revstr[i]-'a'+10;
- else if ((revstr[i]>='A') && (revstr[i]<='F'))
- num[i]=revstr[i]-'A'+10;
- else
- num[i]=0;
- result=result+num[i]*count;
- count=count*16;
- }
- return result;
- }
复制代码 |
|