学习STM32的光敏传感器

光敏传感器(光敏电阻)是一种能够根据环境光强度变化而改变电阻数值的传感器。在STM32微控制器中,光敏传感器可以通过模拟输入通道进行读取,并根据读取的数值来判断环境的光照强度。以下是一个关于如何使用STM32控制光敏传感器的代码案例,详细介绍了如何配置STM32的模拟输入通道、读取光敏传感器的数值、以及根据数值判断光照强度等内容。

#include "stm32f4xx.h"

#define ADC1_DR_Address ((uint32_t)0x4001204C) // ADC1数据寄存器地址

void ADC_Configuration(void);
void GPIO_Configuration(void);
void delay_ms(uint32_t ms);

int main(void)
{
    GPIO_Configuration(); // 配置GPIO口
    ADC_Configuration();  // 配置ADC

    while (1)
    {
        ADC_SoftwareStartConv(ADC1);         // 启动ADC转换
        while (!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC))
            ;                               // 等待转换完成
        uint16_t lightValue = ADC_GetConversionValue(ADC1);    // 获取ADC转换结果
        delay_ms(100);                      // 延时100ms

        if (lightValue < 1000)
            GPIOD->ODR |= GPIO_Pin_13;      // 点亮LED
        else
            GPIOD->ODR &= ~GPIO_Pin_13;     //
  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

粉绿色的西瓜大大

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值