当前位置: 首页 > wzjs >正文

摄影网站在线建设网络营销官网

摄影网站在线建设,网络营销官网,优惠劵网站怎么做,网站做友情链接直接上代码这个代码里面我们简单实现了如果按键按下时间超过0.8秒K1的值增加,短按只增加一次,按键2长按K2值增加,按键3双击K1的值减1,按键4双击K2的值减1 #include "fun.h" #define long_press_time 800//定义长按时间…

直接上代码这个代码里面我们简单实现了如果按键按下时间超过0.8秒K1的值增加,短按只增加一次,按键2长按K2值增加,按键3双击K1的值减1,按键4双击K2的值减1

#include "fun.h"
#define long_press_time 800//定义长按时间
#define double_click_time 1000//定义双击时间
u32 pre,cpature_value;
u32 pre1;
u8 lcd_buff[30];
u8 k1=0;
u8 k2=0;
u32 k1_press__start_tick=0;//按键按下开始计时
u32 k2_press__start_tick=0;
u32 k3_press__last_tick=0;
u32 k4_press__last_tick=0;
u8 key_long_flag=0;//长按标志位
u8 key_value=0;
u32 key_tick=0;
u8 key_down,key_up,key_old=0;
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
{if(htim->Instance==TIM17){cpature_value=HAL_TIM_ReadCapturedValue(htim,TIM_CHANNEL_1);TIM17->CNT=0;pre=80000000/(80*cpature_value);}if(htim->Instance==TIM16){cpature_value=HAL_TIM_ReadCapturedValue(htim,TIM_CHANNEL_1);TIM16->CNT=0;pre1=80000000/(80*cpature_value);}
}
void LCD_proc(void)
{sprintf((char *)lcd_buff,"    fre:%d     ",pre);LCD_DisplayStringLine(Line1,lcd_buff);sprintf((char *)lcd_buff,"    fre:%d     ",pre1);LCD_DisplayStringLine(Line2,lcd_buff);sprintf((char *)lcd_buff,"    K1:%d     ",k1);LCD_DisplayStringLine(Line3,lcd_buff);sprintf((char *)lcd_buff,"    K2:%d     ",k2);LCD_DisplayStringLine(Line4,lcd_buff);
}
void key_read(void)
{if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_0)==GPIO_PIN_RESET)key_value=1;else if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_1)==GPIO_PIN_RESET)key_value=2;else if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_2)==GPIO_PIN_RESET)key_value=3;else if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0)==GPIO_PIN_RESET)key_value=4;elsekey_value=0;key_down=key_value&(key_value^key_old);key_up=~key_value&(key_value^key_old);key_old=key_value;
}
void KEY_proc(void)
{if(uwTick-key_tick<50)return ;key_tick=uwTick;key_read();if(key_down==1)//按键按下{k1_press__start_tick=uwTick;//开始计时key_long_flag=0;//刚开始未达到时间要求}else if(key_value==1)//按键1按下{if(uwTick-k1_press__start_tick>=long_press_time)//超过时间判定为长按{key_long_flag=1;//长按标志位置1k1++;}}else if(key_up==1)//按键短按{k1+=1;
//		if(key_long_flag)
//		{
//			
//			
//		}
//		else 
//		{
//			k1+=1;
//			
//		}}if(key_down==2){k2_press__start_tick=uwTick;key_long_flag=0;}else if(key_value==2){if(uwTick-k2_press__start_tick>=long_press_time){key_long_flag=1;k2++;}}if(key_down==3)//按键3按下{if(uwTick-k3_press__last_tick<=double_click_time)//小于设置时间内如果再次检测到按键按下判定为双击按键{if(k1>0)k1--;}k3_press__last_tick=uwTick;//更新时间为了下一次按键双击判断}if(key_down==4){if(uwTick-k4_press__last_tick<=double_click_time){if(k2>0)k2--;}k4_press__last_tick=uwTick;}
}

http://www.dtcms.com/wzjs/323815.html

相关文章:

  • 赤峰企业网站建设互联网推广好做吗
  • 网站设计怎么做背景颜色百度推广的优化软件
  • 网站和app可以做充值余额功能做任务赚佣金的平台
  • 廊坊网站排名优化公司线上营销推广方案
  • 如何注销网站备案号培训管理平台
  • 购物帮 做特惠的导购网站2022最近的新闻大事10条
  • 深圳做网站 信科网络西安seo王尘宇
  • 大型网站开发协调googleplay商店
  • 做英文题的网站站长之家ip查询工具
  • 电商网站后台seo入门讲解
  • 做家教网站的资源是什么百度产品大全入口
  • 做照片有那些网站好点击软件
  • 福建微网站建设公司推荐百度一下官方网站
  • 巴中免费网站建设seo搜索引擎优化方案
  • 用dw做网站常用的五种网络营销工具
  • 视频会议系统直播聊天网站开发武汉seo网站优化排名
  • 东莞网站制作十强aso优化公司
  • 惠州网站建设 鑫互联网营销主要学什么
  • 论坛门户网站开发seo和sem的区别是什么
  • 二维码生成器在线制作图片seo工作是什么意思
  • 可做商业用途的图片网站危机公关
  • 小程序网站建设最近三天的国际新闻大事
  • java做网站有什么优势手机百度官网
  • 国外网站导航域名交易
  • 网站建设中html中关于图片显示的标签有哪些网页设计学生作业模板
  • 山东省专业群建设网站百度助手app下载安装
  • 公司网站优化网站建设问一问公司
  • 定制鞋子哪个网站好镇江网站建设方案
  • 建设网站模式今日热搜
  • 买网站模板百度推广售后客服电话