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

网站做好后多用户电商平台

网站做好后,多用户电商平台,如何做网站的百科,导购类网站模板实现按键控制LED灯 前置知识: 基本的GPIO 输入模式:读取外部信号(如按键、传感器状态)。——主要用到上拉输入输出模式:向外部输出信号(如控制 LED、继电器)。——主要用到推挽输出其他模式&…

实现按键控制LED灯

前置知识:

基本的GPIO

  • 输入模式:读取外部信号(如按键、传感器状态)。——主要用到上拉输入
  • 输出模式:向外部输出信号(如控制 LED、继电器)。——主要用到推挽输出
  • 其他模式:模拟输入、复用功能(如 USART、I2C)等。

按键的知识与常识

  • 按键未按下:GPIO 引脚通过上拉电阻连接到 VCC,读取为高电平(1)
  • 按键按下:按键将 GPIO 引脚直接接地,读取为低电平(0)

有关LED的代码部分

执行文件.c

#include "stm32f10x.h"                  // Device header//LED的初始化函数
void LED_Init(void)
{//时间时钟函数RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//设置GPIO的结构体GPIO_InitTypeDef GPIO_InitStructure;//设置为推挽输出GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_2;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);//setbits是使它值为1(高电平)GPIO_SetBits(GPIOA,GPIO_Pin_1 | GPIO_Pin_2);
}void LED1_ON(void){GPIO_ResetBits(GPIOA,GPIO_Pin_1);
}void LED1_OFF(void){GPIO_SetBits(GPIOA,GPIO_Pin_1);
}void LED1_Turn(void){if(GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_1)==0) {GPIO_SetBits(GPIOA,GPIO_Pin_1);}else{GPIO_ResetBits(GPIOA,GPIO_Pin_1);}
}
void LED2_ON(void){GPIO_ResetBits(GPIOA,GPIO_Pin_2);
}void LED2_OFF(void){GPIO_SetBits(GPIOA,GPIO_Pin_2);
}
void LED2_Turn(void){if(GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_2)==0) {GPIO_SetBits(GPIOA,GPIO_Pin_2);}else{GPIO_ResetBits(GPIOA,GPIO_Pin_2);}
}

 头文件.h

#ifndef __LED_H
#define __LED_Hvoid LED_Init(void);
void LED1_ON(void);
void LED1_OFF(void);
void LED1_Turn(void);
void LED2_ON(void);
void LED2_OFF(void);
void LED2_Turn(void);#endif

有关按键部分:

执行文件.c

#include "stm32f10x.h"                  // Device header
#include "Delay.h"void Key_Init(void){RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_11;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOB,&GPIO_InitStructure);
}
/*
按键未按下:GPIO 引脚通过上拉电阻连接到 VCC,读取为高电平(1)。
按键按下:按键将 GPIO 引脚直接接地,读取为低电平(0)。
*/
uint8_t Key_GetNum(void){uint8_t KeyNum = 0;if(GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_1)==0){Delay_ms(20);while(GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_1)==0)Delay_ms(20);KeyNum =1;}if(GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_11)==0){Delay_ms(20);while(GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_11)==0)Delay_ms(20);KeyNum =2;}return KeyNum;
}

头文件.h

#ifndef __KEY_H
#define __KEY_Hvoid Key_Init(void);
uint8_t Key_GetNum(void);#endif

main.c

#include "stm32f10x.h"
#include "Delay.h"
#include "LED.h"
#include "Key.h"uint8_t KeyNum;int main(void)
{//主函数初始化LED_Init();Key_Init();while(1){//进入循环后,获取按键状态KeyNum = Key_GetNum();if(KeyNum == 1){LED1_Turn();}if(KeyNum == 2){LED2_Turn();}}
}

http://www.dtcms.com/wzjs/582841.html

相关文章:

  • 预定型网站有哪些网络服务费税收分类编码
  • iis做外网站点爱客crm软件
  • 郑州专门做网站的公司搜索引擎yandex入口
  • 邯郸做wap网站的公司网络推广好不好干
  • 专业做公司logo的网站软件行业发展前景
  • 查询网站备案进度查询网站域名的组成
  • 安徽省建设安全监督站的网站企业网站系统详细设计
  • 廊坊网站建设方案开发赣州网上问政
  • 网站推广具体内容简要说明做360手机网站优化排
  • 成都装饰公司网站建设做网站白云区
  • 高端网站定制建设公司哪家好网站策划书编写
  • 奉贤做网站价格设计公司注册需要什么条件
  • 上海网网站建电子商务项目策划书
  • 利川市网站建设东莞诚信通代运营
  • 新郑市网站建设做网站设计师的感想
  • 大连零基础网站建设教学培训天津网站制作专业
  • 东莞人才信息网网站怎么做排名优化
  • 减肥网站开发目的厦门电子商务网站建
  • 公司网站模板 网盘下载wordpress 模板破解
  • 大学网站html模板下载哈尔滨专业的制作网页
  • 针对茅台酒企业网站建设方案商标名字大全
  • 满足seo需求的网站网站类网站开发犯罪吗
  • 网站是做排行昆明seo网站建设
  • 威海建设集团信息网站浏览器代理怎么弄
  • 惠州网站建设熊掌号南京网站制作公司南京乐识专心
  • 网站建设系统怎么样wordpress出现的常见问题
  • 网络站点推广的方法网上销售方法
  • 自己做盗版影视网站上海博览会2022
  • 做异形建筑的网站如何推广网站会员注册
  • 什么是网站标题常见网站开发的语言