123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- #include "led.h"
- #include "delay.h"
- #include "sys.h"
- #include "stm32f10x.h"
- #include "stdio.h"
- #include "key.h"
- #include "usart.h"
- #include "drive_dht11.h"
- #include "bh1750.h"
- #include "adc.h"
- u8 humi=0;//湿度值
- u8 temp=0;//温度值
- u8 buffer[10]={0};
- u16 GzVal=0; //实际光照值
- char ShowBuf[16]={0};
- //void TIMER3_Int_Init(u16 arr,u16 psc)
- //{
- // TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStrue;
- // NVIC_InitTypeDef NVIC_InitStructure;
- // TIM_TimeBaseInitStrue.TIM_Period=arr;
- // TIM_TimeBaseInitStrue.TIM_Prescaler=psc;
- // TIM_TimeBaseInitStrue.TIM_CounterMode=TIM_CounterMode_Up;
- // TIM_TimeBaseInitStrue.TIM_ClockDivision=TIM_CounterMode_Up;
- // RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
- // TIM_TimeBaseInit(TIM3,&TIM_TimeBaseInitStrue);
- //
- // 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
- //}
- u16 GetTimer=0;//采集时间计数器
- //void TIM3_IRQHandler(void)//中断服务程序
- //{
- // if(TIM_GetITStatus(TIM3,TIM_IT_Update)==SET)//SET为1
- // {
- // GetTimer++;//采集计数器
- // TIM_ClearITPendingBit(TIM3,TIM_IT_Update); //清除TIM3的更新中断标志
- //
- //
- // }
- //}
- u8 GetFlag=0;
- uint8_t sendBuff[16]={0};
- int main(void)
- {
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
- delay_init(); //延时函数初始化
- LED_Init(); //初始化与连接的硬件接口
- uart_init(115200);
- delay_ms(1000);
- ADC1_Init();
-
- while(1)
- {
- if(dht11_read_data(buffer) == 0)//读取温湿度
- {
- humi = buffer[0] + buffer[1] / 10;//取湿度值
- temp = buffer[2] + buffer[3] / 10;//取温度值
- }
- delay_ms(1000);
- GzVal = Get_Adc(0);
- sendBuff[0]=0xaa;//帧头
- sendBuff[1]=temp;
- sendBuff[2]=humi;
- sendBuff[3]=GzVal>>8;
- sendBuff[4]=GzVal;
- sendBuff[6]=0xfa;//帧尾
- UsartSendData(sendBuff,6);//发送到zigbee模块
- //printf("Send_X%dH%dD%dZ\r\n",temp,humi,GzVal);//发送到zigbee模块
- }
- }
|