STM32学习之搭建光敏二极管电路并采集判断光强

本文介绍了如何使用STM32通过ADC3通道7采集光敏电阻的信号来判断光照强度。硬件上,连接了光敏电阻到ADC3的通道7,软件上进行了ADC初始化、GPIO配置以及光照强度值的转换处理。在主函数中,不断读取ADC值并在LCD上显示,以实时监测光照强度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

硬件部分:先来看硬件连接图,此次实验选择ADC3的通道7,硬件原理图如图1所示,光敏电阻的原理在图1中已经说明,这里就不再多说。图2是stm32的部分引脚图。


图1


图 3

软件部分:

软件部分主要是三个方面,一是使用ADC时对ADC的初始化,初始化之后获取某个ADC某个通道的值,这里就是ADC3的通道7,而是哪一个通道使通过函数u16 Get_Adc3(u8 ch)  中的ch传入的。主要代码如下:

//初始化ADC3
//这里我们仅以规则通道为例
//我们默认仅开启通道7   
void  Adc3_Init(void)
{      
ADC_InitTypeDef ADC_InitStructure; 


RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC3,ENABLE);  //使能ADC3通道时钟
RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC3,ENABLE);//ADC复位
RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC3,DISABLE);//复位结束
   

ADC_DeInit(ADC3);  //复位ADC3,将外设 ADC3的全部寄存器重设为缺省值

ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; //ADC工作模式: 独立模式
ADC_InitStructure.ADC_ScanConvMode = DISABLE; //模数转换工作在单通道模式
ADC_InitStructure.A
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值