|
@@ -11,6 +11,7 @@
|
|
#include "oled.h"
|
|
#include "oled.h"
|
|
#include "sk9822.h"
|
|
#include "sk9822.h"
|
|
|
|
|
|
|
|
+
|
|
u8 humi=0;//湿度值
|
|
u8 humi=0;//湿度值
|
|
u8 temp=0;//温度值
|
|
u8 temp=0;//温度值
|
|
u8 buffer[10]={0};
|
|
u8 buffer[10]={0};
|
|
@@ -21,9 +22,13 @@ char SendBuff[50]={0};
|
|
short TEMP = 0;
|
|
short TEMP = 0;
|
|
u16 cj_val=0;//测距值
|
|
u16 cj_val=0;//测距值
|
|
|
|
|
|
-u8 ld_val=0;//亮度值
|
|
|
|
u8 openflag=0;//手动模式开关按钮
|
|
u8 openflag=0;//手动模式开关按钮
|
|
|
|
+u8 mode_flag=0;
|
|
|
|
+
|
|
|
|
|
|
|
|
+u16 GetTimer=0;//采集时间计数器
|
|
|
|
+u8 dw_val=0;//挡位//亮度值
|
|
|
|
+u8 sc_val=0;//色彩
|
|
int set_s1=7,set_f1=0; //设置 时间1
|
|
int set_s1=7,set_f1=0; //设置 时间1
|
|
int cnt_s1=0,cnt_f1=0,cnt_m1=0;//学习时间 时分秒
|
|
int cnt_s1=0,cnt_f1=0,cnt_m1=0;//学习时间 时分秒
|
|
#define RT_INPUT PBin(1)//人体红外感应
|
|
#define RT_INPUT PBin(1)//人体红外感应
|
|
@@ -163,12 +168,7 @@ void TIMER3_Int_Init(u16 arr,u16 psc)
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
-u8 mode_flag=0;
|
|
|
|
-
|
|
|
|
|
|
|
|
-u16 GetTimer=0;//采集时间计数器
|
|
|
|
-u8 dw_val=0;//挡位
|
|
|
|
-u8 sc_val=0;//色彩
|
|
|
|
|
|
|
|
int key_Task(void)
|
|
int key_Task(void)
|
|
{
|
|
{
|
|
@@ -206,7 +206,7 @@ int key_Task(void)
|
|
{
|
|
{
|
|
if(mode_flag==0)
|
|
if(mode_flag==0)
|
|
{
|
|
{
|
|
-
|
|
|
|
|
|
+ openflag^=1;//开关按钮
|
|
}else
|
|
}else
|
|
{
|
|
{
|
|
|
|
|
|
@@ -299,6 +299,9 @@ int main(void)
|
|
delay_ms(10);//上电延时一会
|
|
delay_ms(10);//上电延时一会
|
|
key_gpio_init();
|
|
key_gpio_init();
|
|
Ds1302_Gpio_Init();
|
|
Ds1302_Gpio_Init();
|
|
|
|
+ SK9822_Intit();
|
|
|
|
+
|
|
|
|
+ SK9822_Write_Data(0xf0,0x55,0xa0,0x0f);
|
|
while(1)
|
|
while(1)
|
|
{
|
|
{
|
|
|
|
|
|
@@ -311,7 +314,7 @@ int main(void)
|
|
humi = buffer[0] + buffer[1] / 10;//取湿度值
|
|
humi = buffer[0] + buffer[1] / 10;//取湿度值
|
|
temp = buffer[2] + buffer[3] / 10;//取温度值
|
|
temp = buffer[2] + buffer[3] / 10;//取温度值
|
|
}
|
|
}
|
|
- GzVal = Dispose();
|
|
|
|
|
|
+ GzVal = Dispose();//读取光照
|
|
cj_val=Wave_Start();
|
|
cj_val=Wave_Start();
|
|
if(cj_val<10)
|
|
if(cj_val<10)
|
|
{
|
|
{
|
|
@@ -320,7 +323,7 @@ int main(void)
|
|
{
|
|
{
|
|
OLED_ShowText(0,6,"坐姿:正常",0);
|
|
OLED_ShowText(0,6,"坐姿:正常",0);
|
|
}
|
|
}
|
|
- printf("wsdgzcheck_X%dH%dD%dZ\r\n",temp,humi,GzVal);//发送到上位机app
|
|
|
|
|
|
+ printf("drv_X%dH%dD%dZ\r\n",temp,humi,GzVal);//发送到上位机app
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|
|
@@ -339,11 +342,29 @@ int main(void)
|
|
sprintf((char*)DateShowBuf,"学习:%2d:%2d:%2d", (int)cnt_s1, (int)cnt_f1,cnt_m1);
|
|
sprintf((char*)DateShowBuf,"学习:%2d:%2d:%2d", (int)cnt_s1, (int)cnt_f1,cnt_m1);
|
|
ShowTo(DateShowBuf,10);
|
|
ShowTo(DateShowBuf,10);
|
|
OLED_ShowText(0,4,DateShowBuf,0);
|
|
OLED_ShowText(0,4,DateShowBuf,0);
|
|
|
|
+ if(ds1302Data.hour==set_f1&&ds1302Data.min==set_s1) //到达闹钟时间
|
|
|
|
+ {
|
|
|
|
|
|
-
|
|
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ if(mode_flag)//自动模式
|
|
|
|
+ {
|
|
|
|
+ if(rt_flag) //有人
|
|
|
|
+ {
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ else //没人
|
|
|
|
+ {
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }else{ //手动模式
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|