当遮住光线时,输出指示灯灭,代表输出高电平
光敏传感器:
不遮住光线时,输出指示灯亮,代表输出低电平
1、在LightSensor.c中初始化函数
LightSensor_Init
void LightSensor_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_13;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOB,&GPIO_InitStructure);}
2、在LightSensor.h中声明初始化函数
LightSensor_Init
LightSensor_Init(void);
3、在LightSensor.c中编写光敏传感器返回端口值获取函数
LightSensor_Get
(
ReadInput)
uint8_t LightSensor_Get(void){return GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_13);}
4、在LightSensor.h中声明光敏传感器返回端口值获取函数
LightSensor_Get
uint8_t LightSensor_Get(void);
5、在主程序main.c中
#include
"LightSensor.h
"
#include "LightSensor.h"
6、在主循环之前先初始化按键
![](https://img-blog.csdnimg.cn/8a06368dd1ff432396fb9f53a5002323.png)
7、在主循环中编写程序主体
while(1){if(LightSensor_Get() == 1){Buzzer_ON();}else{Buzzer_OFF();}}
实现功能:遮住光敏传感器,蜂鸣器响;不遮住光敏传感器,蜂鸣器不响