本帖最后由 Ryanhsiung 于 2011-11-29 16:59 编辑
//定义临时变量则最后结果为0
uint8_t temp1,temp2;
uint8_t backcount,i,j;
//定义写为STATIC 正常
static uint8_t temp1,temp2;
static uint8_t backcount,i,j;
//以下为运算
temp1 =*(command++);// 赋值2
temp2 =*(command);// 赋值4
backcount= 0;
//原本只有一句,现被我拆成好几句了
backcount = temp2*temp1;
backcount = backcount*2;
backcount = backcount+2
;
若参与运算的变量都为临时变量则backcount最后的结果为0,
只要将参与运算的变量改为STATIC就正常了!!
断点DEBUG,临时变量TEMP1 TEMP2是对的!!
使用系统:KEIL4.12 新唐NUC100单片机 |