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

南昌电影网站开发足球世界排名国家最新

南昌电影网站开发,足球世界排名国家最新,社区团购最新模式,羽毛球赛事规则与比赛规则按键模块主要是注意短按、长按; 引脚状况 使用PA0、PB0、 PB1、PB2四个引脚;根据电路图可知:按下端口接地,所以我们要将端口设置成为上拉模式,只要按下即低电平; STM32CubeMX 端口配置 配置定时器TIM6 因为…

按键模块主要是注意短按、长按;

引脚状况

使用PA0、PB0、 PB1、PB2四个引脚;根据电路图可知:按下端口接地,所以我们要将端口设置成为上拉模式,只要按下即低电平;

STM32CubeMX

端口配置

 配置定时器TIM6

因为单纯计数我便使用最基础的定时器

 

 使能

代码部分

按键扫描有多种方法,我只用一种定时器扫描,在精不在多; 

记住回调函数在哪找,就不用背它;

头文件

#ifndef  _INTERRUPT_H_
#define  _INTERRUPT_H_
#include "stm32g4xx_hal.h"
#include "stdbool.h"
#include "stdint.h"
#include "main.h"struct key
{bool key_status;//按键状态uint8_t counts;//按键计数bool shortsign;//短按uint8_t key_time;//按键时长bool longsign;//长按
};
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim);
#endif

 c文件部分

#include "interrupt.h"
#include "led.h"
#include "stdbool.h"struct key key1[4]={0,0,0,0,0};void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{if(htim->Instance == TIM6){key1[0].key_status = HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_0);key1[1].key_status = HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_1);key1[2].key_status = HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_2);key1[3].key_status = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0);for(uint8_t i=0;i<4;i++){switch(key1[i].counts){case 0:{if(key1[i].key_status == 0)key1[i].counts =1;}break;case 1:   使用case1消抖{if(key1[i].key_status ==0){key1[i].counts =2;key1[i].key_time =0;}else key1[i].counts =0;}break;case 2:   {if(key1[i].key_status== 0){key1[i].key_time++;}if(key1[i].key_status== 1){key1[i].shortsign=1;key1[i].counts =0;}if(key1[i].key_status== 1 && key1[i].key_time > 70){key1[i].longsign=1;key1[i].counts =0;}}break;}}}}

main文件


#include "interrupt.h"
extern struct key key1[];
int main(void)
{HAL_TIM_Base_Start_IT(&htim6);
while (1){ HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_RESET);char text[30];sprintf(text,"   no dwon");LCD_DisplayStringLine(Line4,(uint8_t *)text);/* USER CODE END WHILE *//* USER CODE BEGIN 3 */if(key1[0].shortsign==1){sprintf(text,"   0  dwon");LCD_DisplayStringLine(Line5 ,(uint8_t *)text);key1[0].shortsign = 0;}if(key1[0].longsign ==1){sprintf(text,"   1  dwon");LCD_DisplayStringLine(Line5 ,(uint8_t *)text);key1[0].longsign = 0;}}
}

http://www.dtcms.com/a/436831.html

相关文章:

  • 无网站做cpa网站服务器如何选择
  • 苏州吴江做网站有一个可以做任务的网站
  • 浙江交工宏途交通建设有限公司网站南阳美容网站建设
  • 重庆网站建设大概需要多少钱全新升级网站
  • 橙域名网站wordpress显示注册按钮
  • 企业网站建设工作流程大企业宣传片
  • 小企业做网站有用吗三合一网站怎么做
  • 网站建设询价文件卖信息的网站
  • 用自己的手机做网站房地产最新消息14号公告
  • 温州网站建设seowordpress 生成主题包
  • 做设计用图片的网站3d建模怎么做
  • 一键免费生成网页的网站免费数据查询网站
  • 石龙网站仿做网站导航栏全屏怎么做的
  • 装潢建筑公司网站设计企业网站管理系统项目文档
  • 网站规划开发前景电子工程师社区
  • 网站建设实录音乐365房产网
  • 公司网站页面加密晋中建设机械网站
  • 【LaTeX】 7 LaTeX 图片插入与定位
  • 义乌网站建设公司价位网络精准推广
  • 企业网站备案怎么填写室内设计网站排行榜前十名知乎
  • php 微网站开发潍坊网站制作网络科技
  • 网站开发投标书范本目录1 建设网站目的
  • 网站一键备案大气家具营销型网站源码
  • 网站建设留言板实验心得深圳市宝安区做网站建设的企业
  • 百度网站优化 件用dw做的个人网站
  • 建站基础:wordpress安装教程图解 - 天缘博客企业建网站流程
  • 进度跟踪网站开发遵义营商环境建设局网站
  • 专业的食品行业网站开发松江新城建设投资有限公司网站
  • 李宁运动服网站建设规划书阜阳网站建设哪家好
  • 北京金企鹅网站建设方案上海好的seo公司