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

邯郸网站建设哪家专业百度seo软件曝光行者seo

邯郸网站建设哪家专业,百度seo软件曝光行者seo,万宁建设局网站,茂名企业自助建站KEY0、KEY1和KEY2是低电平有效的,而KEY_UP则是高电平有效的,并且外部都没有上下拉电阻,所以需要在STM32F103内部设置上下拉,来确定设置空闲电平状态 代码 通过开发板上的三个独立按键控制LED灯:KEY_UP控制蜂鸣器翻…

        KEY0、KEY1和KEY2是低电平有效的,而KEY_UP则是高电平有效的,并且外部都没有上下拉电阻,所以需要在STM32F103内部设置上下拉,来确定设置空闲电平状态 

代码 

通过开发板上的三个独立按键控制LED灯:KEY_UP控制蜂鸣器翻转,KEY1控制LED1翻转,KEY2控制LED0翻转,KEY0控制LED0/LED1同时翻转

led.h

#ifndef _LED_H
#define _LED_H
//led初始化
void led_init(void);
#endif

led.c

#include "./BSP/LED/led.h"
#include "./SYSTEM/sys/sys.h"
//led初始化

void led_init(void){
    GPIO_InitTypeDef g_gppio_struct;
    __HAL_RCC_GPIOE_CLK_ENABLE();  //使能时钟--PE5
    __HAL_RCC_GPIOB_CLK_ENABLE();  //使能时钟--PB5
    
    g_gppio_struct.Pin=GPIO_PIN_5;
    g_gppio_struct.Mode=GPIO_MODE_OUTPUT_PP;  //推挽输出
    g_gppio_struct.Pull=GPIO_NOPULL;  //无上下拉
    g_gppio_struct.Speed=GPIO_SPEED_FREQ_HIGH;  //高速
    HAL_GPIO_Init(GPIOE,&g_gppio_struct);  //初始化LED1
    
    g_gppio_struct.Pin=GPIO_PIN_5;
    g_gppio_struct.Mode=GPIO_MODE_OUTPUT_PP;  //推挽输出
    g_gppio_struct.Pull=GPIO_NOPULL;  //无上下拉
    g_gppio_struct.Speed=GPIO_SPEED_FREQ_HIGH;  //高速
    HAL_GPIO_Init(GPIOB,&g_gppio_struct);  //初始化LED0
}

beep.h

#ifndef _BEEP_H
#define _BEEP_H
#include "./SYSTEM/sys/sys.h"
//beep初始化
void beep_init(void);
void set_beep(uint8_t flag);
#endif

beep.c

#include "./BSP/BEEP/beep.h"
//beep初始化
void beep_init(void){
    GPIO_InitTypeDef g_gppio_struct;
    __HAL_RCC_GPIOB_CLK_ENABLE();  //使能beepIO口时钟
    
    g_gppio_struct.Pin=GPIO_PIN_8;  //引脚号
    g_gppio_struct.Mode=GPIO_MODE_OUTPUT_PP;  //推挽输出
    g_gppio_struct.Pull=GPIO_NOPULL;  //没有上下拉
    g_gppio_struct.Speed=GPIO_SPEED_FREQ_HIGH;  //高速
    HAL_GPIO_Init(GPIOB,&g_gppio_struct);
}
void set_beep(uint8_t flag){
   if(flag){
       HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_SET);
   }else{
       HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_RESET);
   }
}

key.h

#ifndef _KEY_H
#define _KEY_H
#include "./SYSTEM/sys/sys.h"
#include "./SYSTEM/delay/delay.h"
#define KEY0 HAL_GPIO_ReadPin(GPIOE,GPIO_PIN_4)
#define KEY1 HAL_GPIO_ReadPin(GPIOE,GPIO_PIN_3)
#define KEY2 HAL_GPIO_ReadPin(GPIOE,GPIO_PIN_2)
#define KEY_UP HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0)
//key初始化
void key_init(void);
//按键扫描函数
uint8_t scan(uint8_t mode);
#endif

key.c

#include "./BSP/KEY/key.h"
//key初始化
/*
KEY0----PE4----输入上拉
KEY1----PE3----输入上拉
KEY2----PE2----输入上拉
KEY_UP----PA0----输入下拉
*/
void key_init(void){
    GPIO_InitTypeDef g_key_struct;
    //时钟使能
    __HAL_RCC_GPIOE_CLK_ENABLE();
    __HAL_RCC_GPIOA_CLK_ENABLE();
    //KEY0
    g_key_struct.Pin=GPIO_PIN_4;
    g_key_struct.Mode=GPIO_MODE_INPUT;  //输入模式
    g_key_struct.Pull=GPIO_PULLUP;  //上拉
    g_key_struct.Speed=GPIO_SPEED_FREQ_HIGH;  //高速
    HAL_GPIO_Init(GPIOE,&g_key_struct);
    //KEY1
    g_key_struct.Pin=GPIO_PIN_3;
    HAL_GPIO_Init(GPIOE,&g_key_struct);
    //KEY2
    g_key_struct.Pin=GPIO_PIN_2;
    HAL_GPIO_Init(GPIOE,&g_key_struct);
    //KEY_UP
    g_key_struct.Pin=GPIO_PIN_0;
    g_key_struct.Pull=GPIO_PULLDOWN;  //下拉
    HAL_GPIO_Init(GPIOA,&g_key_struct);
}
//按键扫描函数
uint8_t scan(uint8_t mode){
    static uint8_t key_up = 1; /*按键按松开标志*/
    uint8_t keyval= 0;
    if (mode)key_up = 1; /*支持连按*/
    if (key_up && ( KEY0 == 0 ||KEY1 == 0 ||KEY2 == 0 ||KEY_UP == 1)){ /*按键松开标志为1,且有任意一个按键按下了*/
        delay_ms(20);  /*去抖动*/
        key_up = 0;
        if (KEY0== 0) keyval=1;
        if (KEY1== 0) keyval=2;

        if (KEY2== 0) keyval=3;
        if (KEY_UP== 1) keyval=4;
    }else if (KEY0== 1 && KEY1 == 1 && KEY2 == 1 && KEY_UP == 0){ /*没有任何按键按下,标记按键松开*/
        key_up = 1;
    }
    return keyval; /*返回键值*/
}

main.c

#include "./SYSTEM/sys/sys.h"
#include "./SYSTEM/delay/delay.h"
#include "./BSP/LED/led.h"
#include "./BSP/BEEP/beep.h"

int main(void){
    HAL_Init();
    sys_stm32_clock_init(RCC_PLL_MUL9);
    delay_init(72);
    led_init();
    beep_init();
    while(1){
        set_beep(1);
        HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_SET);  //熄灭
        HAL_Delay(2000);
        set_beep(0);
        HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_RESET);  //点亮
        HAL_Delay(2000);
    }
}

http://www.cadmedia.cn/news/9084.html

相关文章:

  • 郑州做网站推广地址广州网站建设
  • 成都美食网站设计论文网址安全中心检测
  • 招标公司网站建设方案数据分析系统
  • 公司网站建设申请单百度推广查询
  • 网站建设与管理实践报告总结优化大师 win10下载
  • 门户网站建设背景今天国际新闻大事
  • 网站设计需要什么技术淘宝关键词查询工具
  • 建一个团购网站今天的热点新闻
  • 2023年新闻热点事件aso优化前景
  • 厦门网站制作阳哥seo模拟点击软件源码
  • 沧州礼品行业网站设计行业网站网址
  • 保利建设开发总公司网站考研比较厉害的培训机构
  • 网站建设开发感悟网站优化及推广
  • 网络建设公司起名选字快速提高网站关键词排名优化
  • 安康seoseo外链平台热狗
  • 美图秀秀在线制作seo外链推广平台
  • 烟台网站建设九七seo技术建站
  • 广告设计与制作培训网站优化的方法有哪些
  • 建设网站都要学些什么手续自动seo网站源码
  • 苏州网站建设网产品营销网站建设
  • 网站访客qq统计系统网络推广靠谱吗
  • 制作软件需要什么工具百度排名优化
  • 免费个人业务网站制作没干过网络推广能干吗
  • 网站怎么关键字优化网店seo排名优化
  • 宝安网站建设深圳信科吸引人的软文标题
  • 响应式网站建设好么线下推广有哪几种渠道
  • 淘宝网站模板是什么做的创建app平台
  • 营销型网站建设必备功能网址收录网站
  • 购物网站制作代码什么叫百度竞价推广
  • 青岛新闻快速优化网站排名的方法