使用STM32f103按键实验——库函数版

前言
点亮led灯实验是单片机内部向指定引脚发送信号(高低电平),而按键实验是外部输入个指定引脚的信号(比如:人按下按键,外部传感器的输入信号等)。
原始代码和原理图在这

首先按照上面链接建立一个KEY文件夹,里面同样建立ked.c和key.h文件,文件书写如下

key.c

#include "key.h"
			    
//按键初始化函数
void KEY_Init(void) 
{ 
 	GPIO_InitTypeDef GPIO_InitStructure;//
 	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//使能GPIOA时钟,对应按键引脚

	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_0;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //设置模式
 	GPIO_Init(GPIOA, &GPIO_InitStructure);
	
}

key.h

#ifndef __KEY_H
#define __KEY_H	 
#include "sys.h"
 
#define KEY1 PEin(3)   	//PA0


void KEY_Init(void); 
			    
#endif

同样主函数将key.h文件与函数名包含,详情见
在这里插入图片描述

参照上半张图,KEY1与地分别通过两条连接3v3,正常情况下KEY1那条支路不导通,3v3与地相连,当K1按下时,KEY1那条路导通,PA0就变为高电平了,通过测得PA0的电平高低,来实现灯的亮灭,附上一部分程序,当按键按下时,红灯亮

if(KEY1 ==1)LEDG = 0;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值