久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 基于stm32的空氣檢測儀器同時通過wifi將數據傳輸到onenet上面 完整代碼與PCB [打印本頁]

作者: lxh1113460968    時間: 2018-8-17 22:21
標題: 基于stm32的空氣檢測儀器同時通過wifi將數據傳輸到onenet上面 完整代碼與PCB
Altium Designer畫的空氣檢測儀電路原理圖和PCB圖如下:(51hei附件中可下載工程文件)


單片機源程序如下:
  1. #include "stm32f10x.h"
  2. #include "Delay.h"
  3. #include "SYS.h"
  4. #include "USART_1.h"
  5. #include "USART_2.h"
  6. #include "USART_3.h"
  7. #include "BMP280.h"
  8. #include "R8025AC.h"
  9. #include "AM2320.h"
  10. #include "BH1750.h"
  11. #include "ff.h"
  12. #include "IIC.h"
  13. #include "LED.h"
  14. #include "ESP8266.h"
  15. //#include "usb_lib.h"
  16. //#include "hw_config.h"
  17. //#include "usb_pwr.h"         
  18. #include "Timer.h"
  19. #include "KEY.h"
  20. #include "SPI.h"
  21. #include "string.h"
  22. #include "extra_fun.h"

  23. extern u16 PM1_0,PM2_5,PM10;

  24. float Temperature,Humi;
  25. u16 Lux;
  26. s32 Pressure;

  27. void BSP_Init()
  28. {        
  29.         delay_init();
  30.         IIC_Init();
  31.         //uart_init(115200);
  32.         USART2_Init();
  33.         USART3_Init();
  34.         SPI1_Init();
  35.         KEY_Init();
  36.         LED_Init();
  37.         SD_Record_Init();
  38.         R8025AC_Init();
  39.         BMP280_Init();
  40.                
  41.         delay_ms(1000);//等待ESP8266初始化完成
  42.         delay_ms(1000);//等待ESP8266初始化完成
  43.         delay_ms(1000);//等待ESP8266初始化完成
  44.         delay_ms(1000);//等待ESP8266初始化完成
  45.         delay_ms(1000);//等待ESP8266初始化完成
  46.         
  47.         if(ESP8266_Init())
  48.         {
  49.             Set_LED2(1);
  50.                 USART3_BUF_Clear();//清除緩存
  51.                 while(!strstr((const char *)USART3_BUF, "WIFI GOT IP")){}//等待wifi配置
  52.         Set_LED2(0);
  53.         }
  54.         USART3_Write("AT+CIPMODE=1\r\n", 14);//透傳模式
  55.         delay_ms(1000);
  56.     USART3_Write("AT+CIPMUX=0\r\n", 13);//單連接
  57.         delay_ms(1000);
  58.         
  59.         R8025AC_Get_NTPtime();//獲取NTP時間
  60.         
  61.         TIM3_Int_Init(9,7199);
  62.         Set_LED3(1);
  63. }

  64. int main(void)
  65. {
  66.         u8 Flag_BH1750;
  67.         
  68.         BSP_Init();
  69.         
  70.         while(1)
  71.         {
  72.                 if(Time_200ms>200)
  73.                 {
  74.                         Time_200ms=0;
  75.                         
  76.                         if(Flag_BH1750==0)
  77.                         {
  78.                                 Flag_BH1750=1;
  79.                                 
  80.                                 BH1750_Wake();//啟動BH1750
  81.                         }else
  82.                         {
  83.                                 Flag_BH1750=0;
  84.                                 
  85.                                 BH1750_Get(&Lux);//讀取BH1750
  86.                         }
  87.                         
  88.                         BMP280_Get(&Temperature, &Pressure);//讀取BMP280
  89.                 }
  90.                
  91.                 if(Time_1000ms>60000)//SD卡1分鐘記錄一次
  92.                 {
  93.                         Time_1000ms=0;
  94.                         
  95.                         SD_Record(PM1_0, PM2_5, PM10, Temperature, Humi, Pressure, Lux);
  96.                 }
  97.                
  98.                 if(Time_3000ms>3000)//3秒鐘一次
  99.                 {
  100.                         Time_3000ms=0;
  101.                         
  102.                         AM2320_Get(&Humi);//讀取AM2320
  103.                 }
  104.                
  105.                 if(Time_20000ms>20000)
  106.                 {
  107.                         Time_20000ms=0;
  108.                         
  109.                         Set_LED2(1);
  110.                         ESP8266_SendDate(PM1_0, PM2_5, PM10, Temperature, Humi, Pressure, Lux);//上傳數據
  111.                         Set_LED2(0);        
  112.                 }
  113.                
  114.                 if(key_flag)//是否有按鍵按下
  115.                 {
  116.                         if(key_flag==1)
  117.                         {
  118.                                 key_flag=0;
  119.                                 R8025AC_Get_NTPtime();//獲取NTP時間
  120.                         }else if(key_flag==2)
  121.                         {
  122.                                 key_flag=0;
  123.                                 USART3_Write("AT+RESTORE\r\n", 12);//恢復出廠設置
  124.                                 while(1)
  125.                                 {
  126.                                         Set_LED1(0);
  127.                                         Set_LED2(0);
  128.                                         Set_LED3(0);
  129. ……………………

  130. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
數據手冊.rar (4.56 MB, 下載次數: 51)
電路圖.rar (602.38 KB, 下載次數: 61)
程序.rar (1.06 MB, 下載次數: 71)







作者: lxh1113460968    時間: 2018-8-17 22:21
STM32F1
作者: lzm2016    時間: 2018-10-11 20:11
好資料,收藏,謝謝




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产成人精品一区二区三区在线观看 | 婷婷六月色 | 欧美日韩毛片 | 亚洲精品字幕在线观看 | 国产a一级 | 日本在线观看网站 | 天天躁日日躁狠狠躁伊人 | 嫩草嫩草嫩草嫩草 | 人人草人人爽 | 亚洲国产精品av | 97视频在线观看免费 | 久久久久精 | 日韩精品观看 | 国产成人精品一区二区三区视频 | 欧美黄网站 | 黄色网在线 | 亚洲国产毛片 | 日韩成人片| 中文字幕免费在线观看 | 黄色小视频免费 | 久久久www成人免费精品 | 日本免费不卡视频 | 久久神马 | 日本天堂网 | 三级在线视频 | 四虎色播| 五月天婷婷激情网 | 成人羞羞国产免费游戏 | 亚洲精品一区二区三 | 国产在线网站 | 免费黄色网址在线观看 | 欧美片网站免费 | 久久av影院 | 久久国产欧美 | 91黄色免费视频 | 欧美一区二区三区的 | 欧美亚洲国产日韩 | 天天天天干 | 欧美日韩精品一区二区在线播放 | a毛片大片 | 成人在线视频免费观看 |