如何先做网站再绑定域名,做网站开公司,海南做房地产网站的网络公司,seo教程免费一 一、适用场景 适用场景#xff1a;环境温度检测#xff08;室温监测、温控、烘箱/恒温箱检测#xff09;、过温保护#xff08;电机/电源/电池#xff09;、温度采样与曲线记录、传感器标定练习、ADC 与阻抗测量实验、嵌入式 PID 温控入门。 二、器材清单 热敏模块1…一一、适用场景适用场景环境温度检测室温监测、温控、烘箱/恒温箱检测、过温保护电机/电源/电池、温度采样与曲线记录、传感器标定练习、ADC 与阻抗测量实验、嵌入式 PID 温控入门。二、器材清单热敏模块×1STM32 开发板3.3V MCU×1若干杜邦线公/母×1组稳定电源5V/3.3V(最好是5v)三、工作原理要点热敏电阻器的典型特点是对温度敏感不同的温度下表现出不同的电阻值。四、接线示意GND→GNDVCC→5V/3.3V电源标准库DO→PC1AO→PC1HAL库DO→PA0AO→PA0五、示例代码标准库DO#include stm32f10x.h #include stdio.h #include bsp_SysTick.h #include bsp_usart.h void gpio_init() { GPIO_InitTypeDef PC; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE); PC.GPIO_Pin GPIO_Pin_1; PC.GPIO_Mode GPIO_Mode_IPD; GPIO_Init(GPIOC,PC); } int main(void) { SysTick_Init(); //延时函数初始化 gpio_init(); //初始化与LED连接的硬件接口 USART_Config(); while(1) { if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_1) 0) { Usart_SendString(USART1,温度过高\n); }else { Usart_SendString(USART1,温度一般\n); } Delay_us(500000); } }AO#include breathing.h #include stm32f10x.h #include stdio.h #include bsp_usart.h char showlight[20]; extern volatile uint16_t adc_light; void TIM3_Int_Init(u16 arr,u16 psc) { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; NVIC_InitTypeDef NVIC_InitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //时钟使能 //定时器TIM3初始化 TIM_TimeBaseStructure.TIM_Period arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值 TIM_TimeBaseStructure.TIM_Prescaler psc; //设置用来作为TIMx时钟频率除数的预分频值 TIM_TimeBaseStructure.TIM_ClockDivision TIM_CKD_DIV1; //设置时钟分割:TDTS Tck_tim TIM_TimeBaseStructure.TIM_CounterMode TIM_CounterMode_Up; //TIM向上计数模式即从0开始向上数到越界 TIM_TimeBaseInit(TIM3, TIM_TimeBaseStructure); //根据指定的参数初始化TIMx的时间基数单位 TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE ); //使能指定的TIM3中断,允许更新中断 //中断优先级NVIC设置 NVIC_InitStructure.NVIC_IRQChannel TIM3_IRQn; //TIM3中断 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority 0; //先占优先级0级 NVIC_InitStructure.NVIC_IRQChannelSubPriority 3; //从优先级3级 NVIC_InitStructure.NVIC_IRQChannelCmd ENABLE; //IRQ通道被使能 NVIC_Init(NVIC_InitStructure); //初始化NVIC寄存器 TIM_Cmd(TIM3, ENABLE); //使能TIMx } void TIM3_IRQHandler(void) { uint16_t value; value (adc_light)/74; if(TIM_GetITStatus(TIM3,TIM_IT_Update) SET) { sprintf(showlight,light:%d,value:%d\n,adc_light,value); Usart_SendString(USART1,showlight); } TIM_ClearITPendingBit(TIM3,TIM_IT_Update); } #include adc_time.h #include stm32f10x.h volatile uint16_t adc_light; void adcgpio_init() { GPIO_InitTypeDef PC; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE); PC.GPIO_Pin GPIO_Pin_1; PC.GPIO_Mode GPIO_Mode_AIN; GPIO_Init(GPIOC,PC); } void adcmode_init() { ADC_InitTypeDef adc; NVIC_InitTypeDef nvic; RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC2,ENABLE); adc.ADC_ModeADC_Mode_Independent; adc.ADC_ScanConvMode DISABLE; adc.ADC_ContinuousConvMode ENABLE; adc.ADC_ExternalTrigConv ADC_ExternalTrigConv_None; adc.ADC_DataAlign ADC_DataAlign_Right; adc.ADC_NbrOfChannel 1; ADC_Init(ADC2,adc); RCC_ADCCLKConfig(RCC_PCLK2_Div8); ADC_RegularChannelConfig(ADC2,ADC_Channel_11,1,ADC_SampleTime_55Cycles5); ADC_ITConfig(ADC2,ADC_IT_EOC,ENABLE); ADC_Cmd(ADC2,ENABLE); ADC_ResetCalibration(ADC2); while(ADC_GetResetCalibrationStatus(ADC2)); ADC_StartCalibration(ADC2); while(ADC_GetCalibrationStatus(ADC2)); ADC_SoftwareStartConvCmd(ADC2,ENABLE); NVIC_PriorityGroupConfig(NVIC_PriorityGroup_3); nvic.NVIC_IRQChannel ADC1_2_IRQn; nvic.NVIC_IRQChannelPreemptionPriority 3; nvic.NVIC_IRQChannelSubPriority 0; nvic.NVIC_IRQChannelCmd ENABLE; NVIC_Init(nvic); } void adctime_Init() { adcgpio_init(); adcmode_init(); } void ADC1_2_IRQHandler(void) { if(ADC_GetITStatus(ADC2,ADC_IT_EOC) SET) { adc_light ADC_GetConversionValue(ADC2); } ADC_ClearITPendingBit(ADC2,ADC_IT_EOC); } #include stm32f10x.h #include stdio.h #include bsp_SysTick.h #include adc_time.h #include breathing.h #include bsp_usart.h int main() { USART_Config(); adctime_Init(); TIM3_Int_Init(4999,7199); //定时500ms while(1) { } // return 0; }HAL库DOint main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_USART1_UART_Init(); /* USER CODE BEGIN 2 */ /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0) 1) HAL_UART_Transmit(huart1,温度正常\r\n, strlen(温度正常\r\n), HAL_MAX_DELAY); else HAL_UART_Transmit(huart1,温度太高\r\n, strlen(温度太高\r\n), HAL_MAX_DELAY); HAL_Delay(1000); /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ } /* USER CODE END 3 */ }AOint main(void) { /* USER CODE BEGIN 1 */ char show[20]{0}; /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_ADC1_Init(); MX_USART1_UART_Init(); /* USER CODE BEGIN 2 */ /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { //#1。启动常规序列 HAL_ADC_Start(hadc1); //#2.等待转换完成 HAL_ADC_PollForConversion(hadc1,HAL_MAX_DELAY); //#3。获取结果 uint32_t dr HAL_ADC_GetValue(hadc1); //#4.把结果转换成电压 float voltage dr *(3.3f-0.0f)/4095.0f; sprintf(show,adc:%d,%.2f\n,dr,voltage); HAL_UART_Transmit(huart1,show,strlen(show),HAL_MAX_DELAY); HAL_Delay(500); // ifvoltage1.5f//光线暗 // HAL_GPIO_WritePin(GPIOA,GPIO_PIN_13,GPIO_PIN_SET);// 灭灯 // else//光线亮 // HAL_GPIO_WritePinGPIOA,GPIO_PIN_13GPIO_PIN_RESET); // 亮灯 /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ } /* USER CODE END 3 */ }六、讲解视频https://www.bilibili.com/video/BV1kVzyBfEDG/?spm_id_from333.1387.search.video_card.clickvd_sourcef7dfe1b14f260b9cc3a146d2dbfd0719https://www.bilibili.com/video/BV1Woz2BMEo1/?spm_id_from333.1387.search.video_card.clickvd_sourcef7dfe1b14f260b9cc3a146d2dbfd0719https://www.bilibili.com/video/BV1soz2BMENY/?spm_id_from333.1387.search.video_card.clickvd_sourcef7dfe1b14f260b9cc3a146d2dbfd0719