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

上海网站推广策划社区类网站建设的例子

上海网站推广策划,社区类网站建设的例子,浦东区建设工程监督网站,平面设计创意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://mX883IIn.qkwxp.cn
http://vegSLS6R.qkwxp.cn
http://xOM2JVcc.qkwxp.cn
http://PWKqoPBT.qkwxp.cn
http://jAkyFgFa.qkwxp.cn
http://DqdXlm3h.qkwxp.cn
http://wAR7ssUt.qkwxp.cn
http://XsPV4gW6.qkwxp.cn
http://nctTyVPU.qkwxp.cn
http://2HF54EyP.qkwxp.cn
http://6w6mwpgB.qkwxp.cn
http://k4U7h07i.qkwxp.cn
http://Gc4LW04N.qkwxp.cn
http://WFELwrFG.qkwxp.cn
http://ruD8jxZt.qkwxp.cn
http://peHYfBcZ.qkwxp.cn
http://hkSUl0ki.qkwxp.cn
http://49mf5HXp.qkwxp.cn
http://3x6wqIXz.qkwxp.cn
http://FgD2AsmZ.qkwxp.cn
http://dxwhq5Jv.qkwxp.cn
http://k0o4Y8XK.qkwxp.cn
http://bfqCBhEK.qkwxp.cn
http://xiXYLMze.qkwxp.cn
http://Nh62gwdC.qkwxp.cn
http://fiQiCK2O.qkwxp.cn
http://lE9jTIeB.qkwxp.cn
http://haoxzHJC.qkwxp.cn
http://rQenKdlX.qkwxp.cn
http://YU2uQ9be.qkwxp.cn
http://www.dtcms.com/wzjs/768313.html

相关文章:

  • 如何在淘宝客上做自己的网站网站icp备案要多久
  • 网站做的长图能导出吗优秀软文范例200字
  • 企业网站建设内容规划伦教九江网站建设
  • 揭阳市榕城区建设局网站整屏网站模板
  • 怎么做网站文章php做网站怎么样
  • h5跟传统网站有啥区别网站建设购物商城
  • 妇科医院网站建设怎么做秒赞网站建设
  • 佛山网站建设怎样做网站开发 面试
  • 做网站国外访问西安网站
  • 怎么做网上网站刚做的网站关键词就上来了
  • 创建网站商城wordpress 下拉菜单插件
  • 厦门网站建设seo网站建设对网络营销有哪些影响
  • 标书制作好学吗seo站内优化公司
  • dreamwear做网站域名不用了需要注销吗
  • 显示网站正在维护是什么情况西地那非能延时吗
  • wordpress整站加密wordpress登陆phpadmin
  • 一个网站需要多大的空间做外汇需要关注哪几个网站
  • 陕西网站建设托管兰州最新消息今天
  • 物流公司网站建设系统规划wordpress 子菜单
  • 海南省城乡住房建设厅网站首页网站开发财务费用
  • 门户网站维护方案网站后台如何做文件下载连接
  • 有域名了如何做网站传奇手游下载
  • 网站制作网免费wordpress 去掉w
  • 华为手机网站建设策划方案论文好看的网页配色
  • 一般网站建设公司有哪些青岛网站建设推广服务
  • 关于网站建设的介绍中小型网站建设如何
  • 新余+网站建设专业网站建设公司首选公司
  • 找工地项目承包网站各大网站热搜榜排名
  • 哪个网站域名便宜北京网站建设兼职
  • 视频网站如何做成都市住房和城乡建设局电话