OpenEdv-开源电子网

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

按键 长按 短按 问题

[复制链接]

24

主题

208

帖子

0

精华

高级会员

Rank: 4

积分
714
金钱
714
注册时间
2014-4-8
在线时间
160 小时
发表于 2014-10-14 23:50:13 | 显示全部楼层 |阅读模式
5金钱
现在只有一个按键,当按键短按的时候,灯1亮,当按键长按的时候,灯2亮,不想使用定时器或者中断函数。这个应该怎么处理??

最佳答案

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

基本就是个c语言练习题
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-10-14 23:50:14 | 显示全部楼层
基本就是个c语言练习题
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

24

主题

208

帖子

0

精华

高级会员

Rank: 4

积分
714
金钱
714
注册时间
2014-4-8
在线时间
160 小时
 楼主| 发表于 2014-10-15 08:29:32 | 显示全部楼层
key()  这是一个调用函数
{
unsigned int j;
j=0;
while(!wendujia) 
    {
 DelayMs(10);
 j++;
 DelayMs(10);
}


 j=key(); 这个是写在主函数里面的
 if(j>250)
 {
  j=0;
        if(jidianqi==1)
{
jidianqi=0;
}
if(jidianqi==0)
{
jidianqi=1;
}
}
    
 

 if(j<250)
 {
   j=0;
       wendu=wendu+5;
   while(!wendujia)
   {
   TempData[0]=dofly_DuanMa[wendu/10];//设定的温度
         TempData[1]=dofly_DuanMa[wendu%10];
   while(!wendujia);
   }

   if(wendu==70)
      wendu=10;

}

return j;

}

就是运行不来……
回复

使用道具 举报

24

主题

208

帖子

0

精华

高级会员

Rank: 4

积分
714
金钱
714
注册时间
2014-4-8
在线时间
160 小时
 楼主| 发表于 2014-10-15 08:33:09 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
上面的程序   一运行  就会直接的运行到if(j<250)这里
回复

使用道具 举报

70

主题

6697

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12687
金钱
12687
注册时间
2012-11-26
在线时间
3710 小时
发表于 2014-10-15 09:02:31 | 显示全部楼层
按下就弄一个数字累加 累加到一个数字认为是长按
学无止境
回复

使用道具 举报

40

主题

196

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
402
金钱
402
注册时间
2014-8-7
在线时间
10 小时
发表于 2014-10-15 11:10:58 | 显示全部楼层
回复【3楼】xinxian:
---------------------------------
你两个都是if,即便先执行了if(j>250),里面会把j置零,然后又会执行j<250。
回复

使用道具 举报

24

主题

208

帖子

0

精华

高级会员

Rank: 4

积分
714
金钱
714
注册时间
2014-4-8
在线时间
160 小时
 楼主| 发表于 2014-10-15 13:08:19 | 显示全部楼层
回复【5楼】jermy_z:
---------------------------------
但是要和短按结合在一起,这个用一个累加不够
回复

使用道具 举报

70

主题

6697

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12687
金钱
12687
注册时间
2012-11-26
在线时间
3710 小时
发表于 2014-10-15 19:19:55 | 显示全部楼层
回复【7楼】xinxian:
---------------------------------
完全够了
学无止境
回复

使用道具 举报

24

主题

208

帖子

0

精华

高级会员

Rank: 4

积分
714
金钱
714
注册时间
2014-4-8
在线时间
160 小时
 楼主| 发表于 2014-10-17 21:09:27 | 显示全部楼层
回复【8楼】jermy_z:
---------------------------------
两个if不能并列,并列就不能用了,我是真心不知道该怎么办了
回复

使用道具 举报

19

主题

248

帖子

2

精华

高级会员

Rank: 4

积分
842
金钱
842
注册时间
2012-2-8
在线时间
19 小时
发表于 2014-11-3 22:12:50 | 显示全部楼层
http://www.openedv.com/posts/list/5970.htm
可以参考这个帖子
回复

使用道具 举报

24

主题

208

帖子

0

精华

高级会员

Rank: 4

积分
714
金钱
714
注册时间
2014-4-8
在线时间
160 小时
 楼主| 发表于 2014-11-5 10:44:04 | 显示全部楼层
回复【10楼】寒寒:
---------------------------------
谢谢
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 04:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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