使用PWM+ADC光敏电阻完成光控灯的实验
int adc_val = 0; //用于保存ADC采样得到的数值
float volt = 0; //用于保存电压值while (1){HAL_ADC_Start(&hadc); //开启ADC采样adc_val = HAL_ADC_GetValue(&hadc); //获取ADC采样的值volt = adc_val / 4095.0f * 3.3f; //将采样值转换为电压值printf("adc_val : %d\r\n",adc_val); //打印ADC采样数据printf("volt : %.2f\r\n",volt); //打印出电压值HAL_Delay(1000); //延时函数,方便观察数据i = volt / 3.3f * 999; //通过电压改变LED灯的亮度,光照越强,电压越低TIM3->CCR3 = i;
}