欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
STM32單片機DS18B20+ESP8266+OneNet+pwm溫控風扇代碼
[打印本頁]
作者:
六六六兮
時間:
2023-4-17 09:45
標題:
STM32單片機DS18B20+ESP8266+OneNet+pwm溫控風扇代碼
#include "stm32f10x.h"
#include "bsp_SysTick.h"
#include "bsp_usart1.h"
#include "bsp_usart3.h"
#include "TIM3.h"
#include "temper.h"
#include "power.h"
#include "infra_red.h"
#include "stm32f10x_it.h"
//C庫
#include <string.h>
//WIFI
#include "esp8266.h"
#include "onenet.h"
unsigned char order = 0;
__IO float temper= 0;
unsigned char pwm = 0;
/***************************************************************************************************************************************/
/*-------------------------------------------------------------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------主函數--------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------------------------------------------------------*/
/***************************************************************************************************************************************/
int main(void)
{
unsigned short timeCount = 0; //發送間隔變量
unsigned char *dataPtr = NULL;
char power = 0;
u8 t=0;
/******************各模塊功能初始化********************/
//設置中斷組為2
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
SysTick_Init();
POWER_GPIO_Config();
USART_Config();
TIM3_Init();
RED_GPIO_Config();
USART3_Config();
DS18B20_GPIO_Config();
ESP8266_Init();
/**********************************************************************************************************************************************/
/**********************************************************************************************************************************************/
/**********************************************************************************************************************************************/
SysTick_Delay_Ms(500);
while(OneNet_DevLink()) //接入OneNET
SysTick_Delay_Ms(500);
while(1)
{
if(t%10==0) //每100ms讀取一次
{
temper = DS18B20_Get_Temp();
}
if(t%100==0) //每1s串口1發送一次
{
printf("溫度:%.2f\r\n",temper);
}
/******************************************************************************/
switch (order)
{
/******************************************************************************/
//正常運行模式 order 0
case 0:
if(RED == 1)
{
power = 1;
}else
{
power = 0;
POWER_OFF
pwm = 0;
}
if(power)
{
if(temper>35)
{
POWER_ON
pwm = 100;
}else if(temper>25&temper<35)
{
POWER_ON
pwm = ((((int)(temper*100))-2500)/10);
}else
{
POWER_OFF
pwm = 0;
}
TIM_SetCompare2(TIM3,pwm); //設置占空比改變電機轉速
}
break;
/****************************************************************************/
case 1:
POWER_ON
TIM_SetCompare2(TIM3,25);
pwm = 25;
break;
case 2:
POWER_ON
TIM_SetCompare2(TIM3,50);
pwm = 50;
break;
case 3:
POWER_ON
TIM_SetCompare2(TIM3,75);
pwm = 75;
break;
case 4:
POWER_ON
TIM_SetCompare2(TIM3,100);
pwm = 100;
break;
case 5:
POWER_OFF
pwm = 0;
break;
}
SysTick_Delay_Ms(10);
t++;
if(++timeCount >= 500) //發送間隔5s
{
printf("OneNet_SendData\r\n");
OneNet_SendData(); //發送數據
timeCount = 0;
ESP8266_Clear();
}
dataPtr = ESP8266_GetIPD(0);
if(dataPtr != NULL)
OneNet_RevPro(dataPtr);
}
}
復制代碼
Keil代碼下載(只有代碼,不含其他資料):
程序.7z
(197.39 KB, 下載次數: 65)
2023-4-17 15:48 上傳
點擊文件名下載附件
stm32
下載積分: 黑幣 -5
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1