标题: 求助C语言if循环问题 [打印本页]

作者: hamburger3975    时间: 2020-8-9 15:39
标题: 求助C语言if循环问题
void main()
{
jdq=0;
LK1=k1;
delayms(4);
K1=k1;
if((LK1==1)&&(K1==0)&&(F1==0))
{
F1=1;                                                   
jdq=1;                           
delayms(10);
}//检测k1是否转动,转动F1=1         
}
如上程序,这个if程序第一次可以进,程序里面有F1=1了,但是后面还是会一直进入这个程序,是不是if里面的条件我这边编写错误?


作者: wulin    时间: 2020-8-9 20:45
缺少主循环约束
void main()
{
        while(1)
        {
                jdq=0;
                LK1=k1;
                delayms(4);
                K1=k1;
                if((LK1==1)&&(K1==0)&&(F1==0))
                {
                        F1=1;         
                        jdq=1;
                        delayms(10)
                }//检测k1是否转动,转动F1=1
        }
}
作者: yangaichimantou    时间: 2020-8-9 21:00
你在判断前面,加个打印,把所有变量都打出来,看一下,就知道是不是其他地方被改写了。
作者: hamburger3975    时间: 2020-8-9 21:46
yangaichimantou 发表于 2020-8-9 21:00
你在判断前面,加个打印,把所有变量都打出来,看一下,就知道是不是其他地方被改写了。

已经解决了,谢谢,main函数运行完之后会软启动,然后所有变量都重置了
作者: dhz0105    时间: 2020-8-9 22:10
本帖最后由 dhz0105 于 2020-8-10 07:12 编辑
hamburger3975 发表于 2020-8-9 21:46
已经解决了,谢谢,main函数运行完之后会软启动,然后所有变量都重置了

厉害了。。。
作者: 1692483014    时间: 2020-8-10 00:01
芯片一直在复位啊
作者: 心有浮生    时间: 2020-8-10 13:41
没有循环语句啊,主函数不死循环,你这等于无限开机
作者: hamburger3975    时间: 2020-8-10 19:53
1692483014 发表于 2020-8-10 00:01
芯片一直在复位啊

是的,忘记这个了,我还以为一直会在主函数运行
作者: hamburger3975    时间: 2020-8-10 19:53
心有浮生 发表于 2020-8-10 13:41
没有循环语句啊,主函数不死循环,你这等于无限开机

是的,后面发现了这个问题。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1