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

免费网站的app推广普通话的标语

免费网站的app,推广普通话的标语,成都APP,微网站开发,logo在线设计生成器下载提示#xff1a;永远支持知识文档免费开源#xff0c;喜欢的朋友们#xff0c;点个关注吧#xff01;蟹蟹#xff01; 目录 一、了解按键 二、stm32f103按键分析 三、按键应用 一、了解按键 同学们#xff0c;又见面了o(*#xffe3;▽#xffe3;*)ブ#xff0c;最… 提示永远支持知识文档免费开源喜欢的朋友们点个关注吧蟹蟹 目录 一、了解按键 二、stm32f103按键分析 三、按键应用 一、了解按键 同学们又见面了o(*▽*)ブ最近降温了注意保暖哦这次我们来了解stm32中的按键操作 首先我们需要了解什么是按键以及按键的基本结构如下图就是我们按键的基本结构 按键是什么呢说专业一点按键就是一种电子开关使用时轻轻按开关按钮就可以使开关接通当松开手的时候开关断开。说白了按键就是用来实现一个电路的通路以及断开操作的开关。 看完上图之后我们该如何给按键接线呢假设我们一定要接1引脚但是接12呢、还是接13呢假设我们接的是13此时电路是不是一直是通路当我们按下按键和不按下按键是不是都是同一个结果因为13相连引脚初始是导通的那我们还能实现按键操作吗?不能吧所以我们应该接12引脚吧同样的我们也可以接14引脚对吧等等。 通常的按键所用开关为机械弹性开关当机械触点断开、闭合时电压信号如图 在图中我们可以看出理想的按键电压信号波形图是空闲状态维持一种电平低电平或者是高电平具体需要我们自己根据电路图配置当我们 按下按键的时候电压信号波形产生一个跳变吧当我们松开按键的时候电压又跳变回原来的状态有了这种跳变我们是不是就可以根据电压的这一特性来实现控制某一个灯的开关啦或者某一外设的开关 但实际情况却有些差强人意因为当我们按下按键的时候按键会产生一个机械抖动这个抖动会影响我们对电压信号波形的判断就比如我们不小心碰了一下按键灯就开了这样过于灵敏是不是不太好呀那我们该如何去解决这个问题呢可以用延时吧就是那个systick延时10ms或者20ms当经过10ms之后如果电平还是维持在一个低电平或者高电平我们是不是就可以判断按键按下了这样就可以解决误触这个问题了当然这不是最优解决方法更优解决方法我们可以通过外部中断去实现。 ok知道这些之后我们接下来可以通过按键来实现stm32上的一个灯的控制了我们先来分析按键的原理图 二、stm32f103按键分析 我们怎么去看这个图呢看网络标号吧看网络标号对应哪个引脚吧比如这个WK_UP这个网络标号就连接在如下图 WK_UP对应的引脚是PA0吧这个按键我们可以用来当作一个普通的按键来用当然也可以用来当作唤醒外部中断的一个唤醒按键那什么时候需要唤醒呢就是当我们的这个芯片进入到一个睡眠模式或者是待机模式或者什么什么模式反正就是低功耗的模式里面其中一种我们可以通过这个按键来唤醒我们这个系统。 我们先来分析一下我们这个按键按下之后识别到什么电平 我们拿WK_UP(PA0)引脚来举例当我们按下按键之后我们在引脚可以识别到一个高电平吧为什么因为我们这个按键外部接了一个3.3V的上拉电阻当我们按下按键之后我们就可以读到一个高电平。再问大家一个问题我们WK_UP(PA0)引脚该配置成输入还是输出模式呢我们站在芯片的角度考虑,我们是需要去读取WK_UP(PA0)引脚的输出电平对吧所以我们是需要将WK_UP(PA0)配置成输入模式。我们通过读取它的电平变化来判断按键是否按下。那么就需要WK_UP(PA0)引脚有一个电平的变化这样我们才能通过这个电平的变化来判断按键是否按下。好那么当我们按键有按下的时候WK_UPPA0引脚处于高电平而我们又需要这个引脚有一个电平跳变故我们应该给这个引脚配置成下拉输入模式吧这样当WK_UP(PA0)引脚处于空闲状态时就处于低电平当我们按下按键的时候电平跳变成高电平所以我们就可以通过这个电平变化来判断按键是否按下。 三、按键应用 ok,我们现在可以来尝试着写一下代码我们板子上有三个按键我们尝试着用WK_UP(PA0)来点亮灯用PC8来熄灭灯用PC9来使灯闪烁。 代码如下 首先我们要知道一个函数以下的函数在固件库中可以查询到 其中有两个 函数我们需要注意 GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, u16 GPIO_Pin); GPIO_ReadInputData(GPIO_TypeDef* GPIOx) 其中 第一个函数有两个参数第一个是选择要读取的GPIO第二个参数是选择要读取的GPIO对应的引脚 第二个函数就只有一个参数也就是说第二个函数使用来读取一组GPIO引脚的 我们用按键点灯需要的是一个引脚吧不需要读取一组GPIO吧所以我们选择第一个函数进行GPIO的输入读取。 好知道这些之后我们就可以正式开始写代码了 代码如下 key.c文件 #include key.h u8 key_flag; void Key_Init(void) {GPIO_InitTypeDef GPIO_InitStruct;/*打开时钟*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOC, ENABLE);/*配置GPIO*/GPIO_InitStruct.GPIO_Mode GPIO_Mode_IPD;/*下拉输入*/GPIO_InitStruct.GPIO_Pin GPIO_Pin_0;GPIO_Init(GPIOA, GPIO_InitStruct);GPIO_InitStruct.GPIO_Mode GPIO_Mode_IPU;/*上拉输入*/GPIO_InitStruct.GPIO_Pin GPIO_Pin_8|GPIO_Pin_9;GPIO_Init(GPIOC, GPIO_InitStruct); }void Read_Key(void) {/***以下的代码还有很多可以修改的地方比如说可以用位带操作简化GPIO读取操作还可以用外部中断来处理延时产生的问题等等***/if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) SET){/*消除抖动*/delay_ms(20);if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0) SET){key_flag 1; }if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_8) RESET){key_flag 2;}if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_9) RESET){key_flag 3;}} } main.c文件 #include systick.h #include usart_drv.h #include key.h #include led.h extern u8 key_flag; void HardWare_Init(void) {SysTick_Init(72);Usart_MyConfig(115200);//这个串口可以用来调试代码用Key_Init(); }int main(void) {HardWare_Init();while(1){Read_Key();switch (key_flag){case 1:LED_Ctrl(LED_0, LED_ON);break;case 2:LED_Ctrl(LED_0, LED_OFF);break;case 3:delay_ms(200);LED_Ctrl(LED_0, LED_ON);delay_ms(200);LED_Ctrl(LED_0, LED_OFF);break;}} }
http://www.zqtcl.cn/news/720037/

相关文章:

  • 网站内链越多越好嘛可以做3d电影网站
  • 企业网站需求文档微商引流客源最快的方法
  • 交互式网站备案业务网站在线生成
  • 自建网站百度个人网站如何在百度上做推广
  • 如何安装wordpress模板竞价网站做seo
  • 做论坛网站如何赚钱电子商务营销推广
  • 想要自己做一个网站怎么做济宁百度网站建设
  • 海会网络建设网站wordpress刷不出图片
  • 一个人做商城网站网站推广的几个阶段
  • 做国学类网站合法吗html5教程pdf下载
  • 云南省文化馆网站建设二级域名分发平台
  • 网站版面布局结构图网站收录批量查询
  • 网站开发手机模拟器常州到丹阳
  • 淮南医院网站建设班级网站开发报告
  • 东莞营销网站建设哪家好微信api接口
  • 凡科建站怎么导出网页wordpress视频采集插件
  • 个人介绍网站源码云主机上传网站
  • app推广平台网站系统登录入口
  • 做公司宣传册的网站成crm网
  • 新乡公司做网站军事新闻内容摘抄
  • 讯美智能网站建设泰安网络科技有限公司电话
  • 新泰建设局网站北京公司排名seo
  • 新网站上线wordpress用户登陆
  • 景安网站备案表格首页风格
  • 做网站卖菜刀需要什么手续互联网营销顾问
  • 山东鲁中公路建设有限公司网站电商网站建设任务分解结构
  • 王野苏婉卿乐清网站优化
  • 三亚市住房和城乡建设厅网站wordpress适合企业网站模板
  • php网站建设思路方案中国空间站组合体
  • 帝国+只做网站地图厦门app定制公司