当前位置: 首页 > 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/797356.html

相关文章:

  • 公司网站建设应注意哪些安徽一方建设招标网站
  • 深圳沙井做公司网站微网站模板怎么做
  • 网站专题二级页怎么做北京建网站需要多少钱
  • 扁平化设计风格网站wordpress地址和找点地址
  • 网站建设 服务内容微信怎么做网站推广
  • 湛江做网站seo的济南快速网站排名
  • 建设公司网站需要多少天寻找外贸客户的网站
  • 有哪些网站建设方案西安专业做网站的公司哪家好
  • 直播做ppt的网站邯郸手机网站建设费用
  • 一般建站需要多少钱网站设计公司圣辉友联
  • 荣成住房和城乡建设部网站甘肃省建设厅质量投诉网站
  • 建站之星网站建设下载版苏州市住房和城乡建设局网站首页
  • 人工智能公司网站建设爱企查官网
  • 东莞设计院东莞网站优化建设团队
  • 浮雕模东莞网站建设dede模板蓝色大气简洁企业网站模板
  • 网站锚点怎么用wordpress 统计流量
  • 信息分类网站建设贵州建设厅二建考试网站
  • 浙江网站怎么做推广启动wordpress mu
  • 网站建设用电脑关键词优化技巧有哪些
  • 无障碍 网站 怎么做哪里有网站建设哪家好
  • .net网站开发实站最完整的外贸流程图
  • 网网站站建建站站贵州省贵州省建设厅网站
  • 网站建设买了服务器后怎么做网站做哪些比较赚钱
  • 私人影吧服务器企业seo顾问服务公司
  • 建设完网站成功后需要注意什么问题网站登录流程图
  • 儿童可以做的游戏视频网站久久建筑网站下载
  • 手机上怎么做自己的网站wordpress主机内存
  • 建设部网站监理工程师报名网站建设包括两个方面
  • 淮安网站建设电话100个免费外贸平台
  • 网站由哪些部分组成部分组成部分影视app搭建教程