OpenEdv-开源电子网

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

按键输入实验,为什么灯会自动灭

[复制链接]

2

主题

9

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2016-3-3
在线时间
7 小时
发表于 2016-3-14 20:57:57 | 显示全部楼层 |阅读模式
1金钱
跑按键输入实验,开始所有程序是听完视频教程后自己估摸着写的,发现有个问题,上电后,第一次按键KEY0或KEY1或KEY2,松开按键一小会,灯的状态会自己翻转过来,而这其中我没有再重新按键,但多按几次键后,程序就全部正常了。怀疑自己程序写得有问题,后开直接跑原子哥的例程发现也有此问题,百思不得其解,烦请各位帮解决一下。

开发板为103旗舰板,供电为笔记本USB供电,键扫描为scan(0)不支持连续按,

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

22

主题

127

帖子

0

精华

高级会员

Rank: 4

积分
913
金钱
913
注册时间
2015-9-17
在线时间
117 小时
发表于 2016-3-14 21:12:33 | 显示全部楼层
原子哥的例程跑起来没问题的,贴出来你的程序看看吧
回复

使用道具 举报

2

主题

9

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2016-3-3
在线时间
7 小时
 楼主| 发表于 2016-3-14 21:24:54 | 显示全部楼层
HR GoGo 发表于 2016-3-14 21:12
原子哥的例程跑起来没问题的,贴出来你的程序看看吧

自动复位了,我跑了原子哥的例程,是一样的结果。
就主程序跟原子哥的不一样,其他一样的。程序如下
while(1)
    {
        key=KEY_Scan(0);
        if(key)
        {
         switch(key)
            {
        case KEY0_PRES: LED0=0;LED1 = 1; break;
        case KEY1_PRES: LED1=0; LED0 = 1; break;
        case KEY2_PRES: LED0=0;
                        LED1=0; break;

             }
        
    }else delay_ms(100);
}
回复

使用道具 举报

22

主题

127

帖子

0

精华

高级会员

Rank: 4

积分
913
金钱
913
注册时间
2015-9-17
在线时间
117 小时
发表于 2016-3-14 21:38:18 | 显示全部楼层
看你led.h 怎么写的  是不是复制的?
原子哥的程序中 这段
#define LED0 PAout(8)        // PA8
#define LED1 PDout(2)        // PD2
是有定义的,如果你只改了主程序 采用       
  case KEY0_PRES: LED0=0;LED1 = 1; break;
        case KEY1_PRES: LED1=0; LED0 = 1; break;
        case KEY2_PRES: LED0=0;
                        LED1=0; break;
这种方式你只能有100ms的效果。
回复

使用道具 举报

22

主题

127

帖子

0

精华

高级会员

Rank: 4

积分
913
金钱
913
注册时间
2015-9-17
在线时间
117 小时
发表于 2016-3-14 21:38:48 | 显示全部楼层
HR GoGo 发表于 2016-3-14 21:38
看你led.h 怎么写的  是不是复制的?
原子哥的程序中 这段
#define LED0 PAout(8)        // PA8

所以才会一段时间后自动变回去
回复

使用道具 举报

2

主题

9

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2016-3-3
在线时间
7 小时
 楼主| 发表于 2016-3-15 15:03:45 | 显示全部楼层
HR GoGo 发表于 2016-3-14 21:38
所以才会一段时间后自动变回去

跟这个没关系噢。因为多按几次键后就好了,经过多次测试发现不用笔记本电脑了供电,采用外接电源就没有这个问题了,具体原因我也不知道为什么了。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-3-15 23:38:02 | 显示全部楼层
你直接下载我们代码,会有问题?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

2

主题

9

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2016-3-3
在线时间
7 小时
 楼主| 发表于 2016-3-17 10:37:09 | 显示全部楼层
正点原子 发表于 2016-3-15 23:38
你直接下载我们代码,会有问题?

原子哥终于出现了,直接下载你们的代码一样会样问题的,我改用外接电源就好了。但我奇怪的是用电脑供电为什么开始按几次会逻辑错误,多按几次后就正常。如果不用电脑供电,一切正常。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-3-17 23:00:02 | 显示全部楼层
daset55 发表于 2016-3-17 10:37
原子哥终于出现了,直接下载你们的代码一样会样问题的,我改用外接电源就好了。但我奇怪的是用电脑供电为 ...

那有可能是你供电不足了....
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 22:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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