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

做网站难还是app难对网络推广的理解

做网站难还是app难,对网络推广的理解,语文建设网站,上海公司注销流程及资料江科大学长又发布了第二期的编写技巧! 大家可以看看:https://space.bilibili.com/383400717 最后面给了一个未完成的任务: 这里我已经把这个问题给解决了! 总代码放在资源里面,key.c放在文章最后面!同时感…

江科大学长又发布了第二期的编写技巧!
大家可以看看:https://space.bilibili.com/383400717
最后面给了一个未完成的任务:
在这里插入图片描述
这里我已经把这个问题给解决了!
总代码放在资源里面,key.c放在文章最后面!同时感兴趣的同学可以看看我的Linux驱动讲解!

1、保存上一次的标志位:

在这里插入图片描述

2、清零目标标志位

计划在同一个按键事件后的标志位发生变化时,判断上一个标志位和目前标志位不一样时进行清理:
在这里插入图片描述
为了简单理解,我们就以同一个按键,两位2进制标志位来讲。
假设上一个的标志位是10;如果按照之前的代码,切换模式的时候,那目前标志位就是11,因为假设并没有进行检查操作就想清零。解决标志位积累的问题!
所以进行:

if(Last_Key_Flag[i]!=Key_Flag[i])
{Key_Flag[i]&=~Last_Key_Flag[i];
}
Last_Key_Flag[i]=Key_Flag[i];

3、同一个按键空闲的时候也清零标志位:

在这里插入图片描述
这样就行了!不过这里有一个问题,就是按键松开和按压时间交替太快了,程序会认为是清零标志位,而不是双击,太慢了,就会认为是单击。但是如果不这样设置,就会保留最后一次的标志位,目前我没有想到好的方法!就留给后来者了!

4、Key.c代码:

 #include "stm32f10x.h"                  // Device header#include "Key.h"#define KEY_PRESSED   1
#define KEY_UNPRESSED 0#define KEY_TIME_DOUBLE 200
#define KEY_TIME_LONG   2000
#define KEY_TIME_REPEAT 100u8 Key_Flag[KEY_COUNT];void Key_Init(void)
{RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);GPIO_InitTypeDef   GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;             //¶ÁÈ¡°´¼üGPIO_InitStructure.GPIO_Pin=GPIO_Pin_1|GPIO_Pin_11;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPD;             //¶ÁÈ¡°´¼üGPIO_InitStructure.GPIO_Pin=GPIO_Pin_13|GPIO_Pin_15;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOB,&GPIO_InitStructure);
}u8 Key_Getstate(u8 n)
{if(n==KEY_1){if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_1)==0){return KEY_PRESSED ;}}else if(n==KEY_2){if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_11)==0){return KEY_PRESSED ;}}else if(n==KEY_3){if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_13)==1){return KEY_PRESSED ;}}else if(n==KEY_4){if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_15)==1){return KEY_PRESSED ;}}return KEY_UNPRESSED;}u8 Key_Check(u8 n,u8 Flag)
{if(Key_Flag[n]&Flag){if(Flag!=KEY_HOLD){Key_Flag[n]&=~Flag;}return 1;}return 0;
}void Key_Tick(void)
{static u8  Count,i;static u8  CurrState[KEY_COUNT],PrevState[KEY_COUNT];static u8  S[KEY_COUNT];static u16 Time[KEY_COUNT];static u8  Last_Key_Flag[KEY_COUNT]; for(i=0;i<KEY_COUNT;i++){if(Time[i]>0){Time[i]--;}}Count++;if(Count>=20){Count=0;for(i=0;i<KEY_COUNT;i++){PrevState[i]=CurrState[i];CurrState[i]=Key_Getstate(i);if(CurrState[i]==KEY_PRESSED){//HOLD=1Key_Flag[i]|=KEY_HOLD;}else{//HOLD=0Key_Flag[i]&=~KEY_HOLD;}if(CurrState[i]==KEY_PRESSED&&PrevState[i]==KEY_UNPRESSED){//Down=1Key_Flag[i]|=KEY_DOWN;}if(CurrState[i]==KEY_UNPRESSED&&PrevState[i]==KEY_PRESSED){//UP=1Key_Flag[i]|=KEY_UP;}if(PrevState[i]==KEY_UNPRESSED&&CurrState[i]==KEY_UNPRESSED){Key_Flag[i]&=0x00;}if(S[i]==0){if(CurrState[i]==KEY_PRESSED){Time[i]=KEY_TIME_LONG;//2s³¤°´Ê±¼äãÐÖµS[i]=1;}}else if(S[i]==1){if(CurrState[i]==KEY_UNPRESSED){Time[i]=KEY_TIME_DOUBLE;S[i]=2;}else if(Time[i]==0){Time[i]=KEY_TIME_REPEAT;//LONG=1Key_Flag[i]|=KEY_LONG;S[i]=4;}}else if(S[i]==2){if(CurrState[i]==KEY_PRESSED){//DOUBLE=1Key_Flag[i]|=KEY_DOUBLE;S[i]=3;}else if(Time>0){//SINGLE=1Key_Flag[i]|=KEY_SINGLE;S[i]=0;}}	else if(S[i]==3){if(CurrState[i]==KEY_UNPRESSED){S[i]=0;}}		else if(S[i]==4){if(CurrState[i]==KEY_UNPRESSED){S[i]=0;}else if(Time[i]==0){Time[i]=KEY_TIME_REPEAT;//REPEAT=1Key_Flag[i]|=KEY_REPEAT;S[i]=4;}}	if(Last_Key_Flag[i]!=Key_Flag[i]){Key_Flag[i]&=~Last_Key_Flag[i];}Last_Key_Flag[i]=Key_Flag[i];}}
}
``
http://www.dtcms.com/wzjs/554883.html

相关文章:

  • 大岭山镇网站建设湖南做网站 找磐石网络一流
  • 企业网站建设美丽广东建设执业资格注册管理中心网站
  • 杭州做网站博客万能网站网址下载
  • 网站建设一般步骤是什么中文编程
  • 蚌埠市建设学校网站网站内链有什么用
  • php网站开发进程状态wordpress安装没反应
  • 网站被百度收录吗泉州自助建站
  • 正确设置网站keywordswordpress需要会php吗
  • 上海做网站备案要多久网站建设需要哪些资料
  • 鹰潭市住房和城乡建设局网站网页设计素材收集
  • 网站建设报价明细wordpress禁止注册
  • 网站要怎么做的吗校园网站的建设费用
  • 福州专业网站制作设计有没有做盗版电影网站犯罪的
  • 上海seo网站网站建设公司现状
  • 泉州网站开发企业企业网站定制公司
  • 盘锦企业网站建设织梦网站文章相互调用
  • 全国文明网联盟网站建设制造业网站建设
  • 空调网站模版如何用百度上传图片做网站外链
  • 承德工程建设信息网站wordpress采集优酷视频
  • 网站建设公司转型做什制作wordpress插件
  • 贵州网站开发制作公司做电影种子下载网站违法吗
  • 网站建设与网络设计课程phpcms 怎么做视频网站首页
  • 有声直播网站建设如何做摄影网站
  • 网站建站 宝网站 收费
  • 北京网站排名公司陕西省建设教育培训网
  • 室内设计有哪些网站行业做门户网站挣钱吗
  • 晋城市公用事业建设局网站建筑云平台
  • 做网站第一部wordpress织梦扩展
  • 做网站版头图片free wordpress themes
  • 怎么做网站首页psd学习建设网站书籍