OpenEdv-开源电子网

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

开启定时器不能扫描按键?

[复制链接]

6

主题

12

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2016-5-15
在线时间
7 小时
发表于 2016-6-1 16:48:43 | 显示全部楼层 |阅读模式
1金钱
前两天向论坛的兄弟们询问了一个软件复位的问题,非常感谢哈

现在有个小问题望各位帮我看一下[mw_shl_code=applescript,true]u16 Temp,Temp1;
u16 TempG,TempG1;
                       
u8 Mode1_Init(void)
{                        int key , i = 0;                                          
                        TIM6_Int_Init(49999,7199);
            key =        KEY_Scan(0);
                        LED1= 0 ;                       
                        while(1)
                        {
                                                  if(PCin(2) ==1) // zhendong
                                                                {                                                                                               
                                                                                delay_us(10);
                                                                                Temp++;
                                                                                printf("%d ZD1\r\n",Temp);                                                                               
                                                                                Temp1=Temp*10;                                                                                                                       
                                                                        if(Temp1>600)
                                                                                {
                                                                                         printf("%d ZD2\r\n",Temp1);
                                                                                        Temp = 0 ;                                                                                        
                                                                                }
                                                                }
                                                       
                                                        if(PCin(1) ==1) //ganhuangguan
                                                        {
                                                                delay_ms(10);
                                                                TempG++;
                                                                printf("%d GHG1\r\n",TempG);
                                                                TempG1=TempG*10;
                                                               
                                                                if(TempG1>30)
                                                                        {
                                                                                 printf("%d GHG2\r\n",TempG1);
                                                                        }
                                                        }else TempG=0;
                                                       
                                                //        TIM_Cmd(TIM7,DISABLE);

                       
                                if(key)
                                        {
                                                printf("key test");
                                                switch(key)
                                                {
                                                                case KEY1_PRES:                                       
                                                                                fun(1,5);
                                                                break;
                                                                case KEY2_PRES:                                          
                                        //                                __set_FAULTMASK(1); //关闭所有中断
                                                                        NVIC_SystemReset(); // 复位
                                                                break;
                                                                case KEY3_PRES:                        
                                        //                                __set_FAULTMASK(1); //关闭所有中断
                                                                        NVIC_SystemReset(); // 复位
                                                                break;
                                                                case KEY4_PRES:
                                                                        __set_FAULTMASK(1); //关闭所有中断
                                                                        NVIC_SystemReset(); // 复位
                                                                break;       
                                                        }
                                        }
       
        }[/mw_shl_code]
这里没加定时器之前,按键是可以扫描得到,但是加上了就扫描不到了。求解啊

最佳答案

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

问题找到了 key = KEY_Scan(0) ; 没放进循环里。。。。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

12

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2016-5-15
在线时间
7 小时
 楼主| 发表于 2016-6-1 16:48:44 | 显示全部楼层
问题找到了 key =   KEY_Scan(0) ;  没放进循环里。。。。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-9 22:24

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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