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

广州网站建设费个人做的网站有什么危险

广州网站建设费,个人做的网站有什么危险,移动端开发工具,中文搜索引擎排名按键模块主要是注意短按、长按; 引脚状况 使用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/wzjs/607593.html

相关文章:

  • 三网合一网站方案ueditor编辑器wordpress
  • 旅游网站建设功能意义可以做笔记的网站
  • 网站开发 工作职责天津企业建网站
  • 网站不能正常显示出现后台代码同学录wordpress
  • 网站开发公司成都免费小程序平台
  • 企业网站开发php电子商务网站建设人才
  • 多个网站 备案广州百度网络推广
  • 一个公司可以备案两个网站公众号在哪里找
  • 网站建设与维护浙江省试题石家庄网站建设开发
  • 1空间做2个网站吗个人网站可以做企业网站吗
  • php 网站进入后台wap视频网站
  • 金华浦江网站建设可以做网站的语言
  • 杭州市萧山区市场建设开发网站重点专业建设网站
  • 网站ui设计师培训微信网站制作价格
  • 网站模版建站个人有限公司注册流程
  • 一个网站平台建设得多少钱做导航网站赚钱吗
  • 西安市建网站深圳设计公司排深圳市广告公司名
  • 苏州高端网站建设kgwl长安区建设局网站
  • 查询学校信息的网站产品推广怎么写
  • 清河企业做网站工会网站升级改造建设方案
  • 店铺只做商品展示网站怎么做简历网站后怎样才能被谷歌 百度收录吗
  • 专业模板建站提供商那个网站制作比较好
  • 有一套源码做网站还差什么宿迁市建设局网站维修基金
  • swift 网站开发成都网站建设司
  • 网站开发费摊销多少年上海第五届进博会
  • 网站论坛模板下载营销推广费用方案
  • 外链建设都需要带网站网址域名购买 网站建设
  • 大型网站制作设计建设培训考试服务网站
  • 做网站开发的有外快嘛wordpress 采集蜘蛛
  • 网站建设行业推广wordpress文章限时