电子秤在运算中始终为1

小型52HX711LCD单片机电子秤,想要进行个数估算,按住K2K3时显示K=物体重量/皮毛重量的整数,结果一直显示是K为1

img


第一,你把图片上这部分代码移到主函数前面,进行调试,如果不行走下一步。
第二,查看程序是否执行到whlie循环里面了比如 Buzzer的值是否变化,或者使用Debug调试工具,或者是添加一行点亮led的代码

img

第三,如果进入了while循环(Buzzer的发生变化),说明是循环里的代码有问题,如果没进入循环说明是循环外的代码有问题

你这程序有错误

if( KEY3 == 0 && KEY2 ==0)
    { int i;
        int y;//只能在函数开始的地方定义变量
        
        Delay_ms(25);
        if( KEY3 == 0 && KEY2 ==0)
        {
            times=0;
            Buzzer =0;
            Delay_ms(25);
            Buzzer =1;
        Buzzer=1;
        y=Weight_Shiwu/Weight_Maopi;
            i=0;
            while (i<y);//这里如果y大于0,则会死循环出不去, 猜测你应该去掉后面的;
            {i++;}
 
        _nop_();