OpenEdv-开源电子网

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

原子家的探索者开发板按键实验求助

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2016-5-15
在线时间
2 小时
发表于 2016-5-20 18:40:19 | 显示全部楼层 |阅读模式
1金钱
u8 Scan(void)
{
        static u8 i=1;
        if((WK_UP==1||KEY0==0||KEY1==0||KEY2==0)&&i==1)
        {
                delay_ms(10);
                i=0;
                if((WK_UP|!KEY0|!KEY1|!KEY2)==1)
                {
                        if(WK_UP==1)
                                return 1;
                        if(KEY0==0)
                                return 2;
                        if(KEY1==0)
                                return 3;
                        if(KEY2==0)
                                return 4;
                }
                else if(KEY0==1&&KEY1==1&&KEY2==1&&WK_UP==0)
               
                        i=1;
                       
               
                return 0;
        }

int main(void)
{
        u8 j=0;
        delay_init(168);
   Init();
        LED0=0;
        while(1)
        {
                j=Scan();
                switch(j)
                {
                        case1:BEEP=!BEEP;break;
                        case2ED0=!LED0;LED1=!LED1;break;
                        case3ED1=!LED1;break;
                        case4ED0=!LED0;break;
                       
                }
        }

}
看看这个程序有什么问题,就是不行,端口初始化是没有问题的,中断按键实验也没问题,就是扫描不行,我这样写有什么问题吗,我实在是找不出来了,执行到while语句上面都是没问题的,但是按键就是检测不到,求助啊

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2016-5-20 20:27:50 | 显示全部楼层
回复

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2016-5-15
在线时间
2 小时
 楼主| 发表于 2016-5-21 10:28:33 | 显示全部楼层

能通过的,我只往上贴了两个函数,端口初始化什么的没贴,我自己写的中断处理按键是可以的,但是按键扫描死活不行,编译能通过,写到开发板就是不能用,按什么键都没反应
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2016-5-21 19:49:52 | 显示全部楼层
yuyufly 发表于 2016-5-21 10:28
能通过的,我只往上贴了两个函数,端口初始化什么的没贴,我自己写的中断处理按键是可以的,但是按键扫描 ...

仿真跟踪下,看看哪里状态不对
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-27 09:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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