stc的bug吗?

[复制链接]
1815|0
 楼主| lsc501 发表于 2022-3-14 09:46 | 显示全部楼层 |阅读模式
如下的程序,工作大约10分钟,if就判断为真,就进入了,
eerom.save_data.Blowback_cycle=6;
Blowback_hour=0;
          TCON_bit.TR0 = 0;        //停止定时器计时,防止改变小时变量影响if比较
          if(eerom.save_data.Blowback_cycle==Blowback_hour)
          {
              Blowback_hour = 0;
              OLED_Clear();
              OLED_ShowCHinese(0,0,30);
              OLED_ShowCHinese(16,0,31);
              /*
              i = sprintf(string,"fixed time");
              OLED_ShowString(32,0,string);
              */
              i = sprintf(string,"hout:%d",(int)Blowback_hour);
              OLED_ShowString(32,0,string);
              i = sprintf(string,"fixed time:%d",(int)eerom.save_data.Blowback_cycle);
              OLED_ShowString(0,2,string);
              Blowback();
              OLED_Clear();
          }

          if(zero_seting_hour>=eerom.save_data.zero_seting_cycle)
          {
              zero_seting_hour = 0;
              OLED_Clear();
              OLED_ShowCHinese(0,0,12);
              OLED_ShowCHinese(16,0,35);
              i = sprintf(string,"fixed time");
              OLED_ShowString(32,0,string);
              zero_setting();
              OLED_Clear();
          }
          TCON_bit.TR0 = 1;
后来改成
        PSW_bit.CY = 0;
        if(PSW_bit.CY==0)
        {
          TCON_bit.TR0 = 0;        //停止定时器计时,防止改变小时变量影响if比较
          if(eerom.save_data.Blowback_cycle==Blowback_hour)
          {
              Blowback_hour = 0;
              OLED_Clear();
              OLED_ShowCHinese(0,0,30);
              OLED_ShowCHinese(16,0,31);
              /*
              i = sprintf(string,"fixed time");
              OLED_ShowString(32,0,string);
              */
              i = sprintf(string,"hout:%d",(int)Blowback_hour);
              OLED_ShowString(32,0,string);
              i = sprintf(string,"fixed time:%d",(int)eerom.save_data.Blowback_cycle);
              OLED_ShowString(0,2,string);
              Blowback();
              OLED_Clear();
          }

          if(zero_seting_hour>=eerom.save_data.zero_seting_cycle)
          {
              zero_seting_hour = 0;
              OLED_Clear();
              OLED_ShowCHinese(0,0,12);
              OLED_ShowCHinese(16,0,35);
              i = sprintf(string,"fixed time");
              OLED_ShowString(32,0,string);
              zero_setting();
              OLED_Clear();
          }
          TCON_bit.TR0 = 1;
        }

这样就解决了,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

27

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部