一、使用PWM+ADC光敏电阻完成光控灯的实验。(根据测得的光敏电阻大小,控制灯的亮度)
代码:
/* USER CODE BEGIN 2 */
HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_3);//打开定时器的PWM通道3
HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_4);//打开定时器的PWM通道4
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
HAL_ADC_Start(&hadc);//开启ADC采样光敏电阻值
i = HAL_ADC_GetValue(&hadc);//获取光敏电阻值
TIM3->CCR3 = 999.0f * i /4096.0f;//根据电阻值设置PB0的亮度
TIM3->CCR4 = 999.0f * i /4096.0f;//根据电阻值设置PB1的亮度
HAL_Delay(1000);
}
/* USER CODE END 3 */
二、思维导图