xmone 发表于 2014-7-25 23:39:56

有懂合泰单片机的嘛,很简单的程序,通不了

#include "HT46F47E.h"

#define   k2   _pa3   //输出继电器K2===加热B
#define   k1   _pa2   //输出继电器K1===加热A
#define   k3   _pa1   //输出继电器K3===抽水

#define   s9   _pb0   //输入没水信号
#define   k4          _pd0   //输出报警




unsigned char shansen_flag,xiajian_flag;

void main()                              //***************程序*****************************************
{         
      shansen_flag=0;
      xiajian_flag=0;
      _pac=0xf1;                        //设置:1111 0001 、1是输入0是输出
      _pa=0xf1;                        //设置:1111 0001
      _pbc=0xff;                        //设置:xxxx 1111 、1是输入0是输出
      _pb=0xff;                        //设置:xxxx 1111      
      _pdc=0xfe;                        //设置:xxxx xxx0 、1是输入0是输出
      _pd=0xff;                        //设置:xxxx xxx1               
      

      while(1)
      {

                        if(s9==0)//*****************************up*************************************up
                        {
                              k2=1;
                              if(xiajian_flag==0)
                              {k3=1;}
                        }
                        
                        if(s9!=0)//****************do*********************************do************************************do
                        {                                                      
                              k2=0;
                              if(xiajian_flag==0)
                              {k3=0;}
                        }                        
      //      }      
    }      
}

现在K2能正常工作,K3工作不了,是if(xiajian_flag==0) ===有问题,查不出来


linhao1581 发表于 2014-7-26 00:28:52

xiajian_flag变量在整个程序中都没作用,估计被编译器把if(xiajian_flag==0){k3=0;}这段代码优化掉了
页: [1]
查看完整版本: 有懂合泰单片机的嘛,很简单的程序,通不了