#ifndef __LIGHTSENSOR_H #define __LIGHTSENSOR_H #include "stm32f10x.h" // 光敏电阻引脚定义 #define LIGHT_SENSOR_PIN GPIO_Pin_0 #define LIGHT_SENSOR_PORT GPIOB #define LIGHT_SENSOR_ADC_CH ADC_Channel_8 // PB0 对应 ADC1 通道8 // 补光灯引脚定义 #define FILL_LIGHT_PIN GPIO_Pin_1 #define FILL_LIGHT_PORT GPIOB // 补光灯控制宏(根据实际电路调整,假设高电平点亮) #define FILL_LIGHT_ON() GPIO_SetBits(FILL_LIGHT_PORT, FILL_LIGHT_PIN) #define FILL_LIGHT_OFF() GPIO_ResetBits(FILL_LIGHT_PORT, FILL_LIGHT_PIN) // 光线阈值配置(可根据实际环境调整) #define LIGHT_THRESHOLD_LOW 1500 // 低于此值开灯(光线暗) #define LIGHT_THRESHOLD_HIGH 2000 // 高于此值关灯(光线亮) // 使用迟滞区间避免频繁开关 // 函数声明 // 函数作用:初始化光敏电阻 ADC 输入和补光灯 GPIO 输出。 void LightSensor_Init(void); // 函数作用:读取光敏电阻 ADC 当前采样值。 uint16_t LightSensor_GetValue(void); // 函数作用:根据当前光照强度和迟滞阈值更新补光灯开关状态。 void LightSensor_Update(void); // 函数作用:返回补光灯当前是否处于点亮状态。 uint8_t LightSensor_IsLightOn(void); #endif