OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2297|回复: 5

帮忙检查延时程序

[复制链接]

1

主题

5

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2019-3-22
在线时间
2 小时
发表于 2019-3-22 18:28:27 | 显示全部楼层 |阅读模式
1金钱
        while(1)
        {
                if(PAin(0)==1)   //K1按键
                {
                                PBout(0)=1;
                                PBout(1)=1;
                                PBout(5)=0; //红灯

                }
                else if(PCin(13)==1)  //K2按键
                {
                                PBout(0)=0;//绿灯
                                PBout(1)=1;
                                PBout(5)=1;
                        delay_ms(10);
                }
                else
                {
                        PBout(0)=1;
                        PBout(1)=0;//蓝
                        PBout(5)=1;
                }
        }
各位大佬,我写了一个简单的按键程序。功能如下:不按按键时亮蓝灯,按下K1亮红灯,按下K2亮绿灯。
我是调用的库里面的头文件。不知道为什么按下K2后再松开,就一直亮绿灯。K1已经没反应。如果第一次按K1是正常的。
我是一个职场小白,求指教。

最佳答案

查看完整内容[请看2#楼]

仿真一下,看是不是进延时函数里面没出来 另外,看看是不是没有初始化延时
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

24

主题

695

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1666
金钱
1666
注册时间
2016-4-29
在线时间
266 小时
发表于 2019-3-22 18:28:28 | 显示全部楼层
仿真一下,看是不是进延时函数里面没出来
另外,看看是不是没有初始化延时
回复

使用道具 举报

2

主题

686

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
10929
金钱
10929
注册时间
2014-6-12
在线时间
1042 小时
发表于 2019-3-22 20:02:49 | 显示全部楼层
你程序的逻辑有问题,PCin(13)只有两种状态,0和1因此就在这两段死循环,不管PAin(0)执行什么都被下面两句覆盖了。
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2019-3-22
在线时间
2 小时
 楼主| 发表于 2019-3-22 23:25:52 来自手机 | 显示全部楼层
xuyaqi 发表于 2019-3-22 20:02
你程序的逻辑有问题,PCin(13)只有两种状态,0和1因此就在这两段死循环,不管PAin(0)执行什么都被下面两句 ...

再次感谢,请问PCin(13)为0时,不是就出循环了吗?为什么是死循环,很难理解。
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2019-3-22
在线时间
2 小时
 楼主| 发表于 2019-3-22 23:28:49 来自手机 | 显示全部楼层
ys793619971 发表于 2019-3-22 23:25
再次感谢,请问PCin(13)为0时,不是就出循环了吗?为什么是死循环,很难理解。

还有就是为什么我把delay_ms函数注释掉,就可以实现功能了?
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2019-3-22
在线时间
2 小时
 楼主| 发表于 2019-3-30 23:13:49 来自手机 | 显示全部楼层
d1z1y2 发表于 2019-3-23 07:24
仿真一下,看是不是进延时函数里面没出来
另外,看看是不是没有初始化延时

感谢你的答复,还真是没初始化
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-24 07:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表