首先labview和51单片机的接受和发送都没问题,储存数据input[]=SBUF。我想把input[]中的数据变成十进制然后通过单片机控制步进电机的步数。
下面代码是我把input[]中数据转化为十进制数的代码,但是inputdata的结果总不对,数值特别大,电机一直会转。
uchar input[];
int a0,b0,c0,inputdata;
a0=input[0]-'0';
b0=input[1]-'0';
c0=input[2]-'0';
inputdata=a0*100+b0*10 +c0;
请问我这个方法是不是不对?我还把另外赋值input[0]=‘1’,input[1]=‘0’,input[2]=‘0‘结果也不对。奇怪啊,,,字符减字符不应该是ascii码的差赋给了a0,
b0.c0.吗?
到底怎么把intput[]储存的数据转换为十进制数,搞了几天也不知道问题在哪,,
|