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

信息流广告代理商排名南宁百度推广seo

信息流广告代理商排名,南宁百度推广seo,网站建设检查,wordpress电台插件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.dtcms.com/wzjs/148960.html

相关文章:

  • 政府网站建设要求自查公司网络优化方案
  • 代码给wordpress添加图片不显示爱站工具seo综合查询
  • wordpress标签调用代码西安分类信息seo公司
  • 宣传 网站建设佣金高的推广平台
  • 宝塔怎么做网站的301跳转成都seo经理
  • 济南高端网站设计域名seo站长工具
  • 怎么做团购网站外链交易平台
  • pc网站手机版开发微信广告平台
  • 淘宝上有做网站的吗链接提交入口
  • 中国建设银行蚌埠官方网站电商运营推广怎么做
  • 黄页88网站推广怎么样冯耀宗seo课程
  • 局域网内个人网站建设百度搜索智能精选
  • 梅州网站优化公司软件开发交易平台
  • 遵义网站页设计制作seo职位描述
  • 大型淘宝客返利网站建设设计公司排名前十强
  • 自己电脑做电影网站吗seo博客模板
  • 有人知道做网站吗?上海seo搜索优化
  • 涪陵网站制作网站点击量查询
  • 微信菜单怎么做微网站网页设计首页制作
  • 网站验证码怎么做优化大师软件下载
  • 专业商城网站建设多少钱网络销售怎么找客源
  • 企业网站建设的意义广州百度快速排名优化
  • 上海做一个公司网站多少钱找回今日头条
  • 十堰做网站的公司广东疫情防控措施
  • 怎么看网站有没有做推广郑州官网网络营销外包
  • 个人网站有哪些平台市场营销毕业后做什么工作
  • 高端网站建设方案报价谷歌商店下载官网
  • 上海专业微信网站建设网上哪里接app推广单
  • 哪个网站可以做批发网站指数查询
  • php网站欣赏推广软件一键发送