完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
一、简介
光敏电阻模块对环境光线最敏感,一般用来检测周围环境的光线的亮度 二、连线 引脚D0是开关信号输出,检测光线是否达到阈值(0和1),本处接到PD5引脚 模块在环境光线亮度达不到设定阈值时,DO 端输出高电平,当外界环境光线亮度超过设定阈值时,DO 端输出低电平; 光线越强,电压越小; 三、代码 在light.h 文件中,我们先进行宏定义,方便移植 #define light_STATE() GPIO_ReadInputDataBit(light_PORT,light_PIN)//读光敏电阻传感器的状态 #define light_PORT GPIOD #define light_PIN GPIO_Pin_5 #define light_RCC RCC_APB2Periph_GPIOD 定义完了之后,再对light.c文件中的PD5接收引脚进行初始化 //对光敏电阻的端口进行初始化 void light_INIT(void) { GPIO_InitTypeDef GPIO_InitStructure;//定义结构体变量 RCC_APB2PeriphClockCmd(light_RCC,ENABLE); GPIO_InitStructure.GPIO_Pin=light_PIN; //选择你要设置的IO口 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING; //设置浮空输入 GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //设置传输速率 GPIO_Init(light_PORT,&GPIO_InitStructure); /* 初始化GPIO */ } 最后,在main.c函数里面进行情况选择,只是了解传感器的使用,没有运用实际项目,所以写的很简单。 int main() { SysTick_Init(72); NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //中断优先级分组 分2组 light_INIT(); LED_Init(); USART1_Init(115200); ADCx_Init(); while(1) { //LED1=0; if(light_STATE()==0) //返回低电平,说明灯亮 { LED1=0; LED2=1; } else { LED2=0; LED1=1; } delay_ms(10); } } |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1617 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1543 浏览 1 评论
977 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
683 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1595 浏览 2 评论
1863浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
644浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
515浏览 3评论
531浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
504浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 03:12 , Processed in 0.776907 second(s), Total 76, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号