内容主要是-1。光敏电阻的运行ADC收集;2.收集的数据被用作PWM控制灯的明暗变化。 第一部分: 1.基本了解光敏电阻的使用: 光敏电阻内部PN结,光的强弱会引起其导通的变化,从而会引起电流的变化;电路设计方面,主要是利用电流的变化,然后在串联一个电阻,就可以转换成电压的变化,然后在利用ADC处理电压的变化。同时,光与电压值成反比。 1.2ADC采集: 1.在电路上选择一个ADC选择相应的通道。 2、ADC使用步骤: 第一步:打开相关ADC设置分频因子。<ADC_CCR寄存器> 第二步:ADC工作模式设置(主要是转换模式、触发模式、数据对齐等) <ADCx_CR1,ACDx_CR2> 第三步:ADC设置规则序列通道(设置规则序列中的通道数和采样周期)。 <ADCx_SQR,ADCx_SMPR> 第四步:打开AD转换器。<ADC_CRx寄存器> ///以上是基本初始化设置。 第五步:读取ADC的值。<ADC_DR寄存器的值> 具体流程为:1。转换序列设置(选择相应的规则序列,并添加要打开的通道。ADCx_CR启动规则转换通道。ADCx_SR状态标志位,循环等待转换完成。;4.直接返回ADCx_DR数据寄存器。 /注意: 1、stm32f4的adc最高36M,一般分频因子设置为4,APB2时钟为84M,所以adc的时钟为21M。 // 第一部分:pwm控制输出 1.1pwm初始化 ///初始化设置 /* 1,时钟使能:io使能和定时器使能 2,配置gpio位推恢复输出,上拉,100M 3、重用引脚功能
4,填充arr和psc TIMX->ARR=arr; TIMX->PSC=psc; 5,TIMX_CCMR控制 pwm模式选择 预装值使能 6,使能 6.1 TIMX->CCER 设置有效的电平方法 使能输出 6.2TIMX->CR1 自动重装预装载 计数器使能 */ // main在中间,收集的光敏值主要传递给TIMx_CCR1就可以了; 并且可以在主函数中产生路灯效果,当光强大于一定值时,灯熄灭;当光线越暗时,光线就越亮。