前段时间要做一个关于串口调时的设计,所以要用到数据处理;
下图是我要发送的数据:!200911120350#
有用的部分 是红色字体的部分
很明显,这部分数据不可能直接使用,需要做处理,将字符转换为 数值;
因为数据为 ASCII码 的 ‘0’~‘9’,所以要进行如下转换:
char str[80]; //字符数组,存字符串
u8 D = 0;
if(str[i]>='0' && str[i]<='9')
{
D =str[i]-'0'; //当字符在0到9之间,计算其代表的数字
}
如果发送小写字符,或者大写字符,可以按照下面的代码
char str[80]; //字符数组,存字符串
u8 D = 0;
if(str[i]>='a' && str[i]<='z')
{
D =str[i]-'a' + 10; //当字符在0到9之间,计算其代表的数字
}
char str[80]; //字符数组,存字符串
u8 D = 0;
if(str[i]>='A' && str[i]<='Z')
{
D =str[i]-'A' + 10; //当字符在0到9之间,计算其代表的数字
}
下面是我自己写的串口调时,字符转换部分