GPIO输入

GPIO输入

函数.h封装

#ifndef __LED_H  //两个下划线!!!
#define __LED_H

//【填写函数名称】 例:
void LED_Init(void);
void LED_ON(void);
...

#endif

//最后要留1行空行!
显示代码提示:Ctrl+Alt+空格

按键读入

uint8_t Key_GetNum(void)
{
	uint8_t KeyNum=0;
	if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_1) == 0){//按下按键 电路导通电阻为0 为低电平
		Delay_ms(20);//消除按下按键的抖动
		while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_1)==0);//直到按键松开再操作
		Delay_ms(20);//消除松开按键的抖动
		KeyNum=1;
	}
	return KeyNum;
}

端口电平翻转

void LED1_Turn(void)
{
	if (GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_1) == 0)		
	//获取输出寄存器的状态,如果当前引脚输出低电平
	{
		GPIO_SetBits(GPIOA, GPIO_Pin_1);//则设置PA1引脚为高电平
	}
	else//否则,即当前引脚输出高电平
	{
		GPIO_ResetBits(GPIOA, GPIO_Pin_1);//则设置PA1引脚为低电平
	}
}

读入某元器件获取的参数:在模块内写个Get

uint8_t LightSensor_Get(void)
{
	return GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_13);
}

按键

image

传感器

传感器元件(光敏电阻/热敏电阻/红外接收管等)的电阻会随外界模拟量的变化而变化
通过与定值电阻分压即可得到模拟电压输出
再通过电压比较器进行二值化即可得到数字电压输出
image

硬件电路

image
(1)按键按下时引脚为低电平 松手高电平
(2)左边接法:引脚必须是上拉输入模式
(3)右边接法:可为浮空输入模式

posted @ 2024-11-02 13:31  White_ink  阅读(0)  评论(0编辑  收藏  举报