|
int main(void)
{
u8 tempValue = 0;
u8 humidity = 0;
u8 t = 0;
u16 fan=0;
u16 wind=0;
char fan_state[]="close";
// 設(shè)置中斷優(yōu)先級分組為組2:2位搶占優(yōu)先級,2位響應(yīng)優(yōu)先級
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
delay_init(); //延時函數(shù)初始化
uart_init(115200); //串口初始化為115200
// 初始化LED
LED_Init();
FAN_Init();
OLED_Init();
pwm_init();
// 初始化ESP8266, 連接onenet, 進(jìn)入透傳模式
uart3_init(115200);
esp8266_start_trans();
//初始化dhtll
DHT11_Init();
LCD_Init();
servo_write(90);
while (1)
{
DHT11_Read_Data(&tempValue,&humidity); // 讀取溫濕度值
if (t == 10)
{
t = 0;
fan=esp8266_get_data("fan");
printf("fan: %d, ",fan);
if(fan==0)
{
FAN=1;
OLED_ShowString(3,2,"fan: close");
}else if(fan==1)
{
FAN=0;
OLED_ShowString(3,2,"fan: open ");
}
wind=esp8266_get_data("wind");
printf("wind: %d, ",wind);
if(wind==0)
{
servo_write(90);
OLED_ShowString(4,2,"wind: close");
}else if(wind==1)
{
servo_write(0);
OLED_ShowString(4,2,"wind: open ");
}
// 將溫度和濕度上傳到云平臺
numToString(tempValue);
printf("tempValue: %s, ", strValue);
OLED_ShowString(1,2,"temp:");
OLED_ShowString(1,8,strValue);
OLED_ShowString(1,10,"C");
esp8266_str_data("temp", strValue);
numToString(humidity);
printf("humidity: %s\r\n\r\n", strValue);
OLED_ShowString(2,2,"humi:");
OLED_ShowString(2,8,strValue);
OLED_ShowString(2,10,"%");
esp8266_str_data("humi", strValue);
}
delay_ms(10);
t++;
}
}
|
|