尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

stm32 cubemx配置TIM触发ADC采集

stm32 cubemx配置TIM触发ADC采集 一、cubemx配置1.1 配置RCC和SYS1.2 开启USART11.3 配置定时器1.4 配置ADC1.5 配置时钟并生成代码二、代码的编写2.1 printf重定向勾选 Use MicroLIB输入--no-multibyte-chars可以防止中文报错2.2 编写main函数/* USER CODE BEGIN PV */ uint32_t adc_val0; float voltage0.0f; float tem0.0f; /* USER CODE END PV *//* USER CODE BEGIN 2 */ HAL_ADCEx_Calibration_Start(hadc1); //ADC1校准 HAL_ADC_Start(hadc1); //启用ADC转换 HAL_TIM_Base_Start(htim3); //启用定时器 HAL_Delay(3000); //延迟3s等待芯片温度稳定 /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { if(HAL_ADC_PollForConversion(hadc1,HAL_MAX_DELAY)HAL_OK) //等待ADC转换完成 { adc_valHAL_ADC_GetValue(hadc1); //获取ADC值 voltage(float)adc_val / 4095 *3.3f; //计算ADC电压值 tem(1.43 - voltage) / 0.0043f 25; //计算芯片温度 printf(当前芯片内部温度%.3f C\r\n,tem); //打印 } /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ } /* USER CODE END 3 */
返回列表