你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于STM32的水质检测系统设计

[复制链接]
STMCU小助手 发布时间:2022-12-7 16:03
一、题目要求

e928122cd039451fb40cecbead8edccb.png


说明:(溶解氧浓度的硬件太贵就没做这个)
功能如下:
1.通过TFT屏实现实时各数据,可进行多级菜单切换
2.可以通过按键进行温度、PH、采集频率调节
3.可以通过语音控制温度、PH、采集频率的调节(SU-03T语音模块)
4.通过ESP8266将采取的数据上传到Onenet云端
5.采取的数据超过设置阈值会进行报警提示
6.大气压采取BMP180模块

成品展示

c4fbd61071794f41bc81ddaf7b09e099.png


二、硬件材料

NG6{J5GIRT8S~SZ_C9OH4KV.png


STM32F103C9T6最小系统

20a811b07d3841af83ab3563b1369a95.png

SU-03T语音模块

5fef5826787e40ea8a56873f75817fcd.png

PH传感器模块(这个相对来说比较贵60几吧)

415da7a652f540e3946e9b096a60f19b.jpg

ESP8266模块

64c94f36720c4319867f65209c8e42fa.jpg

TDS传感器

372b01a54e484d88b9902361e5a470c7.png


BMP180大气压传感器

30973fb4cd304992a6b71db3ab7222e8.jpg

DS18B20温度传感器

c080dc309abd4a9498612c893cbcadcb.jpg

TFT显示屏

91766798ca1e4a17b7c35019d6a9813c.jpg

蜂鸣器

eb540ad12d834d4aa5c0ee1b1f52bace.jpg



三、部分代码
  1. <font face="Tahoma"><font size="3"><font color="#000000">/*-----------------------main.c------------------*/</font></font></font>
  2. <font face="Tahoma"><font size="3"><font color="#000000">#include "led.h"</font></font></font>
  3. <font face="Tahoma"><font size="3"><font color="#000000">#include "delay.h"</font></font></font>
  4. <font face="Tahoma"><font size="3"><font color="#000000">#include "key.h"</font></font></font>
  5. <font face="Tahoma"><font size="3"><font color="#000000">#include "sys.h"</font></font></font>
  6. <font face="Tahoma"><font size="3"><font color="#000000">#include "lcd.h"</font></font></font>
  7. <font face="Tahoma"><font size="3"><font color="#000000">#include "lcd_init.h"</font></font></font>
  8. <font face="Tahoma"><font size="3"><font color="#000000">#include "beep.h"</font></font></font>
  9. <font face="Tahoma"><font size="3"><font color="#000000">#include "time.h"</font></font></font>
  10. <font face="Tahoma"><font size="3"><font color="#000000">#include "ds18b20.h"</font></font></font>
  11. <font face="Tahoma"><font size="3"><font color="#000000">#include "adc.h"</font></font></font>
  12. <font face="Tahoma"><font size="3"><font color="#000000">#include "bmp180.h"</font></font></font>
  13. <font face="Tahoma"><font size="3"><font color="#000000">#include "iic.h"</font></font></font>
  14. <font face="Tahoma"><font size="3"><font color="#000000">
  15. </font></font></font>
  16. <font face="Tahoma"><font size="3"><font color="#000000">//外设层</font></font></font>
  17. <font face="Tahoma"><font size="3"><font color="#000000">#include "oled.h"</font></font></font>
  18. <font face="Tahoma"><font size="3"><font color="#000000">#include "usart.h"</font></font></font>
  19. <font face="Tahoma"><font size="3"><font color="#000000">#include "esp8266.h"</font></font></font>
  20. <font face="Tahoma"><font size="3"><font color="#000000">//网络协议层</font></font></font>
  21. <font face="Tahoma"><font size="3"><font color="#000000">#include "onenet.h"</font></font></font>
  22. <font face="Tahoma"><font size="3"><font color="#000000">
  23. </font></font></font>
  24. <font face="Tahoma"><font size="3"><font color="#000000">//网络设备</font></font></font>
  25. <font face="Tahoma"><font size="3"><font color="#000000">#include "esp8266.h"</font></font></font>
  26. <font face="Tahoma"><font size="3"><font color="#000000">//c库</font></font></font>
  27. <font face="Tahoma"><font size="3"><font color="#000000">#include "string.h"</font></font></font>
  28. <font face="Tahoma"><font size="3"><font color="#000000">
  29. </font></font></font>
  30. <font face="Tahoma"><font size="3"><font color="#000000">/*---------------------------------水质检测系统-----------------------------------*</font></font></font>
  31. <font face="Tahoma"><font size="3"><font color="#000000">Author:slow-walker</font></font></font>
  32. <font face="Tahoma"><font size="3"><font color="#000000">Date:2022-10-26</font></font></font>
  33. <font face="Tahoma"><font size="3"><font color="#000000">功能:</font></font></font>
  34. <font face="Tahoma"><font size="3"><font color="#000000">1.实时数据显示TFT屏 2.OneNet云平台数据显示(ESP8266远端传输) 3.ST-03T语音控制  4.按键调节</font></font></font>
  35. <font face="Tahoma"><font size="3"><font color="#000000">
  36. </font></font></font>
  37. <font face="Tahoma"><font size="3"><font color="#000000">----------------------------------------------------------------------------------*/</font></font></font>
  38. <font face="Tahoma"><font size="3"><font color="#000000">
  39. </font></font></font>
  40. <font face="Tahoma"><font size="3"><font color="#000000">/*--------------------------------------全局变量定义--------------------------------*/</font></font></font>
  41. <font face="Tahoma"><font size="3"><font color="#000000">unsigned int set_time = 1;                 //设置刷新数据的频率默认500ms 1s 2s</font></font></font>
  42. <font face="Tahoma"><font size="3"><font color="#000000">unsigned char time_flag = 0;                //定时器开始标志</font></font></font>
  43. <font face="Tahoma"><font size="3"><font color="#000000">unsigned char display_flag = 0;                    //刷新标志</font></font></font>
  44. <font face="Tahoma"><font size="3"><font color="#000000">float temper = 15.0;                       //温度数据变量</font></font></font>
  45. <font face="Tahoma"><font size="3"><font color="#000000">float max_temper = 40.0,min_temper = 0.0,PH_Set = 7.0;                                                                                //温度设置阀值 0-50 默认为最大值</font></font></font>
  46. <font face="Tahoma"><font size="3"><font color="#000000">unsigned char key_value = 0,key = 0;</font></font></font>
  47. <font face="Tahoma"><font size="3"><font color="#000000">unsigned char Index = 0,flag_function = 0;                    //界面索引</font></font></font>
  48. <font face="Tahoma"><font size="3"><font color="#000000">float ph, tds,p;         //ph 浊度 大气压</font></font></font>
  49. <font face="Tahoma"><font size="3"><font color="#000000">unsigned char buzzer_flag = 0;//警报标志</font></font></font>
  50. <font face="Tahoma"><font size="3"><font color="#000000">/*-------------------------------------界面显示函数---------------------------------*/</font></font></font>
  51. <font face="Tahoma"><font size="3"><font color="#000000">
  52. </font></font></font>
  53. <font face="Tahoma"><font size="3"><font color="#000000">/*-------------------------------功能操作界面--------------------------*/</font></font></font>
  54. <font face="Tahoma"><font size="3"><font color="#000000">
  55. </font></font></font>
  56. <font face="Tahoma"><font size="3"><font color="#000000">void Init_Interface(void)</font></font></font>
  57. <font face="Tahoma"><font size="3"><font color="#000000">{  </font></font></font>
  58. <font face="Tahoma"><font size="3"><font color="#000000">                static unsigned int i = 0;</font></font></font>
  59. <font face="Tahoma"><font size="3"><font color="#000000">                LCD_ShowChinese(80,0,(unsigned char *)"欢迎使用水质监测系统",RED,Q_BLUE,32,0);</font></font></font>
  60. <font face="Tahoma"><font size="3"><font color="#000000">                LCD_ShowString(90,40,(unsigned char *)"Author:Slow-Walker",RED,GREEN,32,0);</font></font></font>
  61. <font face="Tahoma"><font size="3"><font color="#000000">                LCD_ShowString(110,80,(unsigned char *)"Date:2022-10-26",RED,GREEN,32,0);</font></font></font>
  62. <font face="Tahoma"><font size="3"><font color="#000000">                LCD_ShowString(140,240,(unsigned char *)"WIFI",RED,GREEN,32,0);</font></font></font>
  63. <font face="Tahoma"><font size="3"><font color="#000000">                LCD_ShowChinese(220,240,(unsigned char *)"加载中",RED,GREEN,32,0);</font></font></font>
  64. <font face="Tahoma"><font size="3"><font color="#000000">         while(i*8 < 472)</font></font></font>
  65. <font face="Tahoma"><font size="3"><font color="#000000">                {</font></font></font>
  66. <font face="Tahoma"><font size="3"><font color="#000000">                         LCD_ShowString(i*8,280,(unsigned char *)".",RED,        WHITE,32,0);</font></font></font>
  67. <font face="Tahoma"><font size="3"><font color="#000000">                                delay_ms(50);        </font></font></font>
  68. <font face="Tahoma"><font size="3"><font color="#000000">                                i++;</font></font></font>
  69. <font face="Tahoma"><font size="3"><font color="#000000">                }</font></font></font>
  70. <font face="Tahoma"><font size="3"><font color="#000000">                delay_ms(500);</font></font></font>
  71. <font face="Tahoma"><font size="3"><font color="#000000">                //LCD_ShowChinese(140,240,(unsigned char *)"加载成功",RED,GREEN,32,0);                </font></font></font>
  72. <font face="Tahoma"><font size="3"><font color="#000000">                //LCD_Init();</font></font></font>
  73. <font face="Tahoma"><font size="3"><font color="#000000">}</font></font></font>
  74. <font face="Tahoma"><font size="3"><font color="#000000">
  75. </font></font></font>
  76. <font face="Tahoma"><font size="3"><font color="#000000">void Interface1(void)</font></font></font>
  77. <font face="Tahoma"><font size="3"><font color="#000000">{</font></font></font>
  78. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowChinese(80,0,(unsigned char *)"欢迎使用水质监测系统",RED,Q_BLUE,32,0);</font></font></font>
  79. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowChinese(150,120,(unsigned char *)"参数查看",RED,GREEN,32,0);</font></font></font>
  80. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowChinese(150,160,(unsigned char *)"参数设置",RED,GREEN,32,0);</font></font></font>
  81. <font face="Tahoma"><font size="3"><font color="#000000">}</font></font></font>
  82. <font face="Tahoma"><font size="3"><font color="#000000">
  83. </font></font></font>
  84. <font face="Tahoma"><font size="3"><font color="#000000">
  85. </font></font></font>
  86. <font face="Tahoma"><font size="3"><font color="#000000">void Interface2(void)</font></font></font>
  87. <font face="Tahoma"><font size="3"><font color="#000000">{</font></font></font>
  88. <font face="Tahoma"><font size="3"><font color="#000000">
  89. </font></font></font>
  90. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowChinese(80,0,(unsigned char *)"欢迎使用水质监测系统",RED,Q_BLUE,32,0);</font></font></font>
  91. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowChinese(120,80,(unsigned char *)"温度阈值:",RED,GREEN,32,0);</font></font></font>
  92. <font face="Tahoma"><font size="3"><font color="#000000">          LCD_ShowFloatNum1(320,80,max_temper,4,RED,GREEN,32);                                                                 </font></font></font>
  93. <font face="Tahoma"><font size="3"><font color="#000000">          LCD_ShowChinese(120,120,(unsigned char *)"当前温度:",RED,GREEN,32,0);</font></font></font>
  94. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowFloatNum1(320,120,temper,4,RED,GREEN,32);                        </font></font></font>
  95. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowChinese(120,160,(unsigned char *)"当前",RED,GREEN,32,0);</font></font></font>
  96. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowString(200,160,(unsigned char *)"PH",RED,GREEN,32,0);</font></font></font>
  97. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowFloatNum1(320,160,ph,4,RED,GREEN,32);        </font></font></font>
  98. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowChinese(120,200,(unsigned char *)"大气压值:",RED,GREEN,32,0);</font></font></font>
  99. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowIntNum(320,200,bmp180.p,6,RED,GREEN,32);        </font></font></font>
  100. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowChinese(120,240,(unsigned char *)"水电导率:",RED,GREEN,32,0);</font></font></font>
  101. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowFloatNum1(320,240,tds,6,RED,GREEN,32);                </font></font></font>
  102. <font face="Tahoma"><font size="3"><font color="#000000">}</font></font></font>
  103. <font face="Tahoma"><font size="3"><font color="#000000">
  104. </font></font></font>
  105. <font face="Tahoma"><font size="3"><font color="#000000">void Interface3(void)</font></font></font>
  106. <font face="Tahoma"><font size="3"><font color="#000000">{</font></font></font>
  107. <font face="Tahoma"><font size="3"><font color="#000000">        </font></font></font>
  108. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowChinese(80,0,(unsigned char *)"欢迎使用水质监测系统",RED,Q_BLUE,32,0);</font></font></font>
  109. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowChinese(120,80,(unsigned char *)"温度阈值",RED,GREEN,32,0);</font></font></font>
  110. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowFloatNum1(320,80,max_temper,4,RED,GREEN,32);        </font></font></font>
  111. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowString(120,120,(unsigned char *)"PH",RED,GREEN,32,0);        </font></font></font>
  112. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowChinese(200,120,(unsigned char *)"阈值",RED,GREEN,32,0);</font></font></font>
  113. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowFloatNum1(320,120,PH_Set,4,RED,GREEN,32);</font></font></font>
  114. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowChinese(120,160,(unsigned char *)"刷新频率:",RED,GREEN,32,0);</font></font></font>
  115. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowIntNum(320,160,set_time,1,RED,GREEN,32);        </font></font></font>
  116. <font face="Tahoma"><font size="3"><font color="#000000">}</font></font></font>
  117. <font face="Tahoma"><font size="3"><font color="#000000">
  118. </font></font></font>
  119. <font face="Tahoma"><font size="3"><font color="#000000">void Interface4(void)</font></font></font>
  120. <font face="Tahoma"><font size="3"><font color="#000000">{</font></font></font>
  121. <font face="Tahoma"><font size="3"><font color="#000000">        </font></font></font>
  122. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowChinese(80,0,(unsigned char *)"欢迎使用水质监测系统",RED,Q_BLUE,32,0);</font></font></font>
  123. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowChinese(120,120,(unsigned char *)"温度阈值",RED,GREEN,32,0);</font></font></font>
  124. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowFloatNum1(320,120,max_temper,4,RED,GREEN,32);        </font></font></font>
  125. <font face="Tahoma"><font size="3"><font color="#000000">}</font></font></font>
  126. <font face="Tahoma"><font size="3"><font color="#000000">void Interface5(void)</font></font></font>
  127. <font face="Tahoma"><font size="3"><font color="#000000">{</font></font></font>
  128. <font face="Tahoma"><font size="3"><font color="#000000">        </font></font></font>
  129. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowChinese(80,0,(unsigned char *)"欢迎使用水质监测系统",RED,Q_BLUE,32,0);        </font></font></font>
  130. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowString(120,120,(unsigned char *)"PH",RED,GREEN,32,0);        </font></font></font>
  131. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowChinese(200,120,(unsigned char *)"阈值",RED,GREEN,32,0);</font></font></font>
  132. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowFloatNum1(320,120,PH_Set,4,RED,GREEN,32);</font></font></font>
  133. <font face="Tahoma"><font size="3"><font color="#000000">}</font></font></font>
  134. <font face="Tahoma"><font size="3"><font color="#000000">void Interface6(void)</font></font></font>
  135. <font face="Tahoma"><font size="3"><font color="#000000">{</font></font></font>
  136. <font face="Tahoma"><font size="3"><font color="#000000">        </font></font></font>
  137. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowChinese(80,0,(unsigned char *)"欢迎使用水质监测系统",RED,Q_BLUE,32,0);</font></font></font>
  138. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowChinese(120,120,(unsigned char *)"刷新频率:",RED,GREEN,32,0);</font></font></font>
  139. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowIntNum(320,120,set_time,1,RED,GREEN,32);        </font></font></font>
  140. <font face="Tahoma"><font size="3"><font color="#000000">}</font></font></font>
  141. <font face="Tahoma"><font size="3"><font color="#000000">
  142. </font></font></font>
  143. <font face="Tahoma"><font size="3"><font color="#000000">/*----------------------------------按键操作函数--------------------------------------*/</font></font></font>
  144. <font face="Tahoma"><font size="3"><font color="#000000">unsigned char Key_Mode(void)</font></font></font>
  145. <font face="Tahoma"><font size="3"><font color="#000000">{</font></font></font>
  146. <font face="Tahoma"><font size="3"><font color="#000000">        key_value = KEY_Scan(); //按键1来进行模式的切换</font></font></font>
  147. <font face="Tahoma"><font size="3"><font color="#000000">        //按键每按一下蜂鸣器响200ms然后关掉 按键提示音</font></font></font>
  148. <font face="Tahoma"><font size="3"><font color="#000000">        if(key_value)</font></font></font>
  149. <font face="Tahoma"><font size="3"><font color="#000000">        {</font></font></font>
  150. <font face="Tahoma"><font size="3"><font color="#000000">                LCD_Init(); </font></font></font>
  151. <font face="Tahoma"><font size="3"><font color="#000000">        }</font></font></font>
  152. <font face="Tahoma"><font size="3"><font color="#000000">        if(key_value == 1) //判断按键1是否被按下</font></font></font>
  153. <font face="Tahoma"><font size="3"><font color="#000000">        { </font></font></font>
  154. <font face="Tahoma"><font size="3"><font color="#000000">                Index++;</font></font></font>
  155. <font face="Tahoma"><font size="3"><font color="#000000">                BEEP_ON();</font></font></font>
  156. <font face="Tahoma"><font size="3"><font color="#000000">                delay_ms(200);</font></font></font>
  157. <font face="Tahoma"><font size="3"><font color="#000000">                BEEP_OFF();</font></font></font>
  158. <font face="Tahoma"><font size="3"><font color="#000000">                delay_ms(200);</font></font></font>
  159. <font face="Tahoma"><font size="3"><font color="#000000">        }        </font></font></font>
  160. <font face="Tahoma"><font size="3"><font color="#000000">        if(key_value == 2) //判断按键1是否被按下</font></font></font>
  161. <font face="Tahoma"><font size="3"><font color="#000000">        {</font></font></font>
  162. <font face="Tahoma"><font size="3"><font color="#000000">                Index--;</font></font></font>
  163. <font face="Tahoma"><font size="3"><font color="#000000">                BEEP_ON();</font></font></font>
  164. <font face="Tahoma"><font size="3"><font color="#000000">                delay_ms(200);</font></font></font>
  165. <font face="Tahoma"><font size="3"><font color="#000000">                BEEP_OFF();</font></font></font>
  166. <font face="Tahoma"><font size="3"><font color="#000000">                delay_ms(200);</font></font></font>
  167. <font face="Tahoma"><font size="3"><font color="#000000">        }</font></font></font>
  168. <font face="Tahoma"><font size="3"><font color="#000000">                switch(Index)</font></font></font>
  169. <font face="Tahoma"><font size="3"><font color="#000000">                {        </font></font></font>
  170. <font face="Tahoma"><font size="3"><font color="#000000">                        case 1:        Interface1();break;</font></font></font>
  171. <font face="Tahoma"><font size="3"><font color="#000000">                        case 2:        Interface2();break;</font></font></font>
  172. <font face="Tahoma"><font size="3"><font color="#000000">                        case 3:        Interface3();break;</font></font></font>
  173. <font face="Tahoma"><font size="3"><font color="#000000">                        case 4:        Interface4();flag_function = 3;break;</font></font></font>
  174. <font face="Tahoma"><font size="3"><font color="#000000">                        case 5:        Interface5();flag_function = 4;break;</font></font></font>
  175. <font face="Tahoma"><font size="3"><font color="#000000">                        case 6:        Interface6();flag_function = 5;break;                </font></font></font>
  176. <font face="Tahoma"><font size="3"><font color="#000000">                        default:break;</font></font></font>
  177. <font face="Tahoma"><font size="3"><font color="#000000">                }</font></font></font>
  178. <font face="Tahoma"><font size="3"><font color="#000000">                key_value = 0;</font></font></font>
  179. <font face="Tahoma"><font size="3"><font color="#000000">        return flag_function; //返回功能函数的标志位</font></font></font>
  180. <font face="Tahoma"><font size="3"><font color="#000000">}</font></font></font>
  181. <font face="Tahoma"><font size="3"><font color="#000000">
  182. </font></font></font>
  183. <font face="Tahoma"><font size="3"><font color="#000000">void Param_Set(void)</font></font></font>
  184. <font face="Tahoma"><font size="3"><font color="#000000">{</font></font></font>
  185. <font face="Tahoma"><font size="3"><font color="#000000">         unsigned char keyvalue = 0;</font></font></font>
  186. <font face="Tahoma"><font size="3"><font color="#000000">         keyvalue = KEY_Scan(); //按键1来进行模式的切换</font></font></font>
  187. <font face="Tahoma"><font size="3"><font color="#000000">                //按键每按一下蜂鸣器响200ms然后关掉 按键提示音</font></font></font>
  188. <font face="Tahoma"><font size="3"><font color="#000000">        if(flag_function == 3)</font></font></font>
  189. <font face="Tahoma"><font size="3"><font color="#000000">        {</font></font></font>
  190. <font face="Tahoma"><font size="3"><font color="#000000">         if(keyvalue == 3)</font></font></font>
  191. <font face="Tahoma"><font size="3"><font color="#000000">         {</font></font></font>
  192. <font face="Tahoma"><font size="3"><font color="#000000">                         BEEP_ON();</font></font></font>
  193. <font face="Tahoma"><font size="3"><font color="#000000">                        delay_ms(200);</font></font></font>
  194. <font face="Tahoma"><font size="3"><font color="#000000">                        BEEP_OFF();</font></font></font>
  195. <font face="Tahoma"><font size="3"><font color="#000000">        </font></font></font>
  196. <font face="Tahoma"><font size="3"><font color="#000000">                 max_temper += 2;</font></font></font>
  197. <font face="Tahoma"><font size="3"><font color="#000000">                 if(max_temper >= 50)</font></font></font>
  198. <font face="Tahoma"><font size="3"><font color="#000000">                 {</font></font></font>
  199. <font face="Tahoma"><font size="3"><font color="#000000">                                max_temper = 50;</font></font></font>
  200. <font face="Tahoma"><font size="3"><font color="#000000">                 }</font></font></font>
  201. <font face="Tahoma"><font size="3"><font color="#000000">         }</font></font></font>
  202. <font face="Tahoma"><font size="3"><font color="#000000">         if(keyvalue == 4)</font></font></font>
  203. <font face="Tahoma"><font size="3"><font color="#000000">         {</font></font></font>
  204. <font face="Tahoma"><font size="3"><font color="#000000">                         BEEP_ON();</font></font></font>
  205. <font face="Tahoma"><font size="3"><font color="#000000">                        delay_ms(200);</font></font></font>
  206. <font face="Tahoma"><font size="3"><font color="#000000">                        BEEP_OFF();</font></font></font>
  207. <font face="Tahoma"><font size="3"><font color="#000000">                 max_temper -= 2;</font></font></font>
  208. <font face="Tahoma"><font size="3"><font color="#000000">                 if(max_temper == 0)</font></font></font>
  209. <font face="Tahoma"><font size="3"><font color="#000000">                 {</font></font></font>
  210. <font face="Tahoma"><font size="3"><font color="#000000">                                max_temper = 0;</font></font></font>
  211. <font face="Tahoma"><font size="3"><font color="#000000">                 }                 </font></font></font>
  212. <font face="Tahoma"><font size="3"><font color="#000000">         }</font></font></font>
  213. <font face="Tahoma"><font size="3"><font color="#000000"> }</font></font></font>
  214. <font face="Tahoma"><font size="3"><font color="#000000">        else if(flag_function == 4)</font></font></font>
  215. <font face="Tahoma"><font size="3"><font color="#000000">        {</font></font></font>
  216. <font face="Tahoma"><font size="3"><font color="#000000">                if(keyvalue == 3)</font></font></font>
  217. <font face="Tahoma"><font size="3"><font color="#000000">         {</font></font></font>
  218. <font face="Tahoma"><font size="3"><font color="#000000">                        BEEP_ON();</font></font></font>
  219. <font face="Tahoma"><font size="3"><font color="#000000">                        delay_ms(200);</font></font></font>
  220. <font face="Tahoma"><font size="3"><font color="#000000">                        BEEP_OFF();</font></font></font>
  221. <font face="Tahoma"><font size="3"><font color="#000000">                 PH_Set += 1;</font></font></font>
  222. <font face="Tahoma"><font size="3"><font color="#000000">         }</font></font></font>
  223. <font face="Tahoma"><font size="3"><font color="#000000">         if(keyvalue == 4)</font></font></font>
  224. <font face="Tahoma"><font size="3"><font color="#000000">         {</font></font></font>
  225. <font face="Tahoma"><font size="3"><font color="#000000">                         BEEP_ON();</font></font></font>
  226. <font face="Tahoma"><font size="3"><font color="#000000">                        delay_ms(200);</font></font></font>
  227. <font face="Tahoma"><font size="3"><font color="#000000">                        BEEP_OFF();</font></font></font>
  228. <font face="Tahoma"><font size="3"><font color="#000000">                 PH_Set -= 1;</font></font></font>
  229. <font face="Tahoma"><font size="3"><font color="#000000">                          </font></font></font>
  230. <font face="Tahoma"><font size="3"><font color="#000000">         }</font></font></font>
  231. <font face="Tahoma"><font size="3"><font color="#000000">        }</font></font></font>
  232. <font face="Tahoma"><font size="3"><font color="#000000">        else if(flag_function == 5)</font></font></font>
  233. <font face="Tahoma"><font size="3"><font color="#000000">        {</font></font></font>
  234. <font face="Tahoma"><font size="3"><font color="#000000">        if(keyvalue == 3)</font></font></font>
  235. <font face="Tahoma"><font size="3"><font color="#000000">         {</font></font></font>
  236. <font face="Tahoma"><font size="3"><font color="#000000">                        BEEP_ON();</font></font></font>
  237. <font face="Tahoma"><font size="3"><font color="#000000">                        delay_ms(200);</font></font></font>
  238. <font face="Tahoma"><font size="3"><font color="#000000">                        BEEP_OFF();</font></font></font>
  239. <font face="Tahoma"><font size="3"><font color="#000000">                         set_time += 1;</font></font></font>
  240. <font face="Tahoma"><font size="3"><font color="#000000">                  if(set_time > 3)</font></font></font>
  241. <font face="Tahoma"><font size="3"><font color="#000000">                        {</font></font></font>
  242. <font face="Tahoma"><font size="3"><font color="#000000">                                set_time = 3;</font></font></font>
  243. <font face="Tahoma"><font size="3"><font color="#000000">                        }</font></font></font>
  244. <font face="Tahoma"><font size="3"><font color="#000000">         }</font></font></font>
  245. <font face="Tahoma"><font size="3"><font color="#000000">         if(keyvalue == 4)</font></font></font>
  246. <font face="Tahoma"><font size="3"><font color="#000000">         {</font></font></font>
  247. <font face="Tahoma"><font size="3"><font color="#000000">                         BEEP_ON();</font></font></font>
  248. <font face="Tahoma"><font size="3"><font color="#000000">                        delay_ms(200);</font></font></font>
  249. <font face="Tahoma"><font size="3"><font color="#000000">                        BEEP_OFF();</font></font></font>
  250. <font face="Tahoma"><font size="3"><font color="#000000">                 set_time -= 1;</font></font></font>
  251. <font face="Tahoma"><font size="3"><font color="#000000">                 if(set_time == 1)</font></font></font>
  252. <font face="Tahoma"><font size="3"><font color="#000000">                 {</font></font></font>
  253. <font face="Tahoma"><font size="3"><font color="#000000">                         set_time = 1;</font></font></font>
  254. <font face="Tahoma"><font size="3"><font color="#000000">                 }          </font></font></font>
  255. <font face="Tahoma"><font size="3"><font color="#000000">         }</font></font></font>
  256. <font face="Tahoma"><font size="3"><font color="#000000">        }</font></font></font>
  257. <font face="Tahoma"><font size="3"><font color="#000000">        flag_function = 0;</font></font></font>
  258. <font face="Tahoma"><font size="3"><font color="#000000">        keyvalue = 0;</font></font></font>
  259. <font face="Tahoma"><font size="3"><font color="#000000">}</font></font></font>
  260. <font face="Tahoma"><font size="3"><font color="#000000">
  261. </font></font></font>
  262. <font face="Tahoma"><font size="3"><font color="#000000">
  263. </font></font></font>
  264. <font face="Tahoma"><font size="3"><font color="#000000">
  265. </font></font></font>
  266. <font face="Tahoma"><font size="3"><font color="#000000">
  267. </font></font></font>
  268. <font face="Tahoma"><font size="3"><font color="#000000">/*-------------------------------------主函数-----------------------------------------*/</font></font></font>
  269. <font face="Tahoma"><font size="3"><font color="#000000">int main(void)</font></font></font>
  270. <font face="Tahoma"><font size="3"><font color="#000000"> {        </font></font></font>
  271. <font face="Tahoma"><font size="3"><font color="#000000">
  272. </font></font></font>
  273. <font face="Tahoma"><font size="3"><font color="#000000">        unsigned char *dataPtr = NULL;</font></font></font>
  274. <font face="Tahoma"><font size="3"><font color="#000000">         </font></font></font>
  275. <font face="Tahoma"><font size="3"><font color="#000000">        unsigned short timeCount = 0;        //发送间隔变量</font></font></font>
  276. <font face="Tahoma"><font size="3"><font color="#000000">         </font></font></font>
  277. <font face="Tahoma"><font size="3"><font color="#000000">        delay_init();                       //延时函数初始化          </font></font></font>
  278. <font face="Tahoma"><font size="3"><font color="#000000">        NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级</font></font></font>
  279. <font face="Tahoma"><font size="3"><font color="#000000">         Led_Init();                              //LED端口初始化</font></font></font>
  280. <font face="Tahoma"><font size="3"><font color="#000000">        Adc_Init();           //adc初始化</font></font></font>
  281. <font face="Tahoma"><font size="3"><font color="#000000">        KEY_Init();           //按键初始化</font></font></font>
  282. <font face="Tahoma"><font size="3"><font color="#000000">        Beep_Init();          //蜂鸣器初始化</font></font></font>
  283. <font face="Tahoma"><font size="3"><font color="#000000">        Time_Init();          //定时器2初始化</font></font></font>
  284. <font face="Tahoma"><font size="3"><font color="#000000">        DS18B20_Init();</font></font></font>
  285. <font face="Tahoma"><font size="3"><font color="#000000">        BMP_Init();</font></font></font>
  286. <font face="Tahoma"><font size="3"><font color="#000000">        BMP_ReadCalibrationData();        </font></font></font>
  287. <font face="Tahoma"><font size="3"><font color="#000000">          delay_ms(50);</font></font></font>
  288. <font face="Tahoma"><font size="3"><font color="#000000">        uart_init(9600);//串口1初始化</font></font></font>
  289. <font face="Tahoma"><font size="3"><font color="#000000">        uart3_init(115200); //串口3初始化</font></font></font>
  290. <font face="Tahoma"><font size="3"><font color="#000000">         </font></font></font>
  291. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_Init();            //LCD初始化</font></font></font>
  292. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_Fill(0,0,LCD_W,LCD_H,GREEN);             //LCD屏颜色初始化  </font></font></font>
  293. <font face="Tahoma"><font size="3"><font color="#000000">          Init_Interface();       //初始界面显示</font></font></font>
  294. <font face="Tahoma"><font size="3"><font color="#000000">
  295. </font></font></font>
  296. <font face="Tahoma"><font size="3"><font color="#000000">
  297. </font></font></font>
  298. <font face="Tahoma"><font size="3"><font color="#000000">        ESP8266_Init();                                        //初始化ESP8266</font></font></font>
  299. <font face="Tahoma"><font size="3"><font color="#000000">        printf("8266_INIT_END\n");         </font></font></font>
  300. <font face="Tahoma"><font size="3"><font color="#000000">        while(OneNet_DevLink())                        //接入OneNET</font></font></font>
  301. <font face="Tahoma"><font size="3"><font color="#000000">        delay_ms(500);</font></font></font>
  302. <font face="Tahoma"><font size="3"><font color="#000000">        printf("接入onenet成功");</font></font></font>
  303. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowString(140,240,(unsigned char *)"WIFI",RED,GREEN,32,0);</font></font></font>
  304. <font face="Tahoma"><font size="3"><font color="#000000">        LCD_ShowChinese(220,240,(unsigned char *)"加载成功",RED,GREEN,32,0);        </font></font></font>
  305. <font face="Tahoma"><font size="3"><font color="#000000">        delay_ms(500);        </font></font></font>
  306. <font face="Tahoma"><font size="3"><font color="#000000">        while(1) </font></font></font>
  307. <font face="Tahoma"><font size="3"><font color="#000000">        {                </font></font></font>
  308. <font face="Tahoma"><font size="3"><font color="#000000">        </font></font></font>
  309. <font face="Tahoma"><font size="3"><font color="#000000">                if(display_flag)</font></font></font>
  310. <font face="Tahoma"><font size="3"><font color="#000000">                {</font></font></font>
  311. <font face="Tahoma"><font size="3"><font color="#000000">                        display_flag = 0;        </font></font></font>
  312. <font face="Tahoma"><font size="3"><font color="#000000">                        temper = DS18B20_GetTemperture();             //读取温度</font></font></font>
  313. <font face="Tahoma"><font size="3"><font color="#000000">                        Get_PH_and_TUR();                             //获取PH这里没有读取浊度</font></font></font>
  314. <font face="Tahoma"><font size="3"><font color="#000000">                        Get_TDS();                                    //TDS 水电导率</font></font></font>
  315. <font face="Tahoma"><font size="3"><font color="#000000">                        BMP_UncompemstatedToTrue();                          //大气压</font></font></font>
  316. <font face="Tahoma"><font size="3"><font color="#000000">                }        </font></font></font>
  317. <font face="Tahoma"><font size="3"><font color="#000000">                //测量的温度不在温度范围内进行蜂鸣器报警</font></font></font>
  318. <font face="Tahoma"><font size="3"><font color="#000000">                if( temper > max_temper)</font></font></font>
  319. <font face="Tahoma"><font size="3"><font color="#000000">                {</font></font></font>
  320. <font face="Tahoma"><font size="3"><font color="#000000">                        buzzer_flag = 1;</font></font></font>
  321. <font face="Tahoma"><font size="3"><font color="#000000">                        BEEP_ON();</font></font></font>
  322. <font face="Tahoma"><font size="3"><font color="#000000">                        delay_ms(300);</font></font></font>
  323. <font face="Tahoma"><font size="3"><font color="#000000">                        BEEP_OFF();</font></font></font>
  324. <font face="Tahoma"><font size="3"><font color="#000000">                        delay_ms(300);</font></font></font>
  325. <font face="Tahoma"><font size="3"><font color="#000000">                }</font></font></font>
  326. <font face="Tahoma"><font size="3"><font color="#000000">                else</font></font></font>
  327. <font face="Tahoma"><font size="3"><font color="#000000">                {</font></font></font>
  328. <font face="Tahoma"><font size="3"><font color="#000000">                        buzzer_flag = 0;</font></font></font>
  329. <font face="Tahoma"><font size="3"><font color="#000000">                        BEEP_OFF();        </font></font></font>
  330. <font face="Tahoma"><font size="3"><font color="#000000">                }</font></font></font>
  331. <font face="Tahoma"><font size="3"><font color="#000000">                //PH超出阈值后报警</font></font></font>
  332. <font face="Tahoma"><font size="3"><font color="#000000">                if( ph > PH_Set)</font></font></font>
  333. <font face="Tahoma"><font size="3"><font color="#000000">                {</font></font></font>
  334. <font face="Tahoma"><font size="3"><font color="#000000">                        buzzer_flag = 1;</font></font></font>
  335. <font face="Tahoma"><font size="3"><font color="#000000">                        BEEP_ON();</font></font></font>
  336. <font face="Tahoma"><font size="3"><font color="#000000">                        delay_ms(300);</font></font></font>
  337. <font face="Tahoma"><font size="3"><font color="#000000">                        BEEP_OFF();</font></font></font>
  338. <font face="Tahoma"><font size="3"><font color="#000000">                        delay_ms(300);</font></font></font>
  339. <font face="Tahoma"><font size="3"><font color="#000000">                }</font></font></font>
  340. <font face="Tahoma"><font size="3"><font color="#000000">                else</font></font></font>
  341. <font face="Tahoma"><font size="3"><font color="#000000">                {</font></font></font>
  342. <font face="Tahoma"><font size="3"><font color="#000000">                        buzzer_flag = 0;</font></font></font>
  343. <font face="Tahoma"><font size="3"><font color="#000000">                        BEEP_OFF();        </font></font></font>
  344. <font face="Tahoma"><font size="3"><font color="#000000">                }</font></font></font>
  345. <font face="Tahoma"><font size="3"><font color="#000000">//        </font></font></font>
  346. <font face="Tahoma"><font size="3"><font color="#000000">                //printf("PH = %.1f TDS = %.2f Temper = %.2f Press:%ld\r\n",ph,tds,temper,bmp180.p);</font></font></font>
  347. <font face="Tahoma"><font size="3"><font color="#000000">                //delay_ms(200);</font></font></font>
  348. <font face="Tahoma"><font size="3"><font color="#000000">                //key = Key_Mode();</font></font></font>
  349. <font face="Tahoma"><font size="3"><font color="#000000">        //        printf( "OneNet_SendData\r\n");//通过串           口1发送提示信息(要开始发送数据了)                                </font></font></font>
  350. <font face="Tahoma"><font size="3"><font color="#000000">                OneNet_SendData();//发送数据给onenet                        </font></font></font>
  351. <font face="Tahoma"><font size="3"><font color="#000000">        //        printf("send_data_end\n");</font></font></font>
  352. <font face="Tahoma"><font size="3"><font color="#000000">                delay_ms(100);                 </font></font></font>
  353. <font face="Tahoma"><font size="3"><font color="#000000">                ESP8266_Clear();                </font></font></font>
  354. <font face="Tahoma"><font size="3"><font color="#000000">                dataPtr = ESP8266_GetIPD(0);//获取平台返回的数据</font></font></font>
  355. <font face="Tahoma"><font size="3"><font color="#000000">                if(dataPtr != NULL)//如果返回数据不为空</font></font></font>
  356. <font face="Tahoma"><font size="3"><font color="#000000">                OneNet_RevPro(dataPtr);//平台返回数据检测                </font></font></font>
  357. <font face="Tahoma"><font size="3"><font color="#000000">                delay_ms(100);                 </font></font></font>
  358. <font face="Tahoma"><font size="3"><font color="#000000">        }</font></font></font>
  359. <font face="Tahoma"><font size="3"><font color="#000000">}</font></font></font>
  360. <font face="Tahoma"><font size="3"><font color="#000000">
  361. </font></font></font>
  362. <font face="Tahoma"><font size="3"><font color="#000000">
  363. </font></font></font>
  364. <font face="Tahoma"><font size="3"><font color="#000000">/*-----------------------100ms定时器中断处理---------------------*/</font></font></font>
  365. <font face="Tahoma"><font size="3"><font color="#000000">void TIM2_IRQHandler(void) //TIM2 中断</font></font></font>
  366. <font face="Tahoma"><font size="3"><font color="#000000">{</font></font></font>
  367. <font face="Tahoma"><font size="3"><font color="#000000">        static unsigned char count = 0,t = 0;</font></font></font>
  368. <font face="Tahoma"><font size="3"><font color="#000000">                if(TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET) //检查 TIM2 更新中断发生与否</font></font></font>
  369. <font face="Tahoma"><font size="3"><font color="#000000">                {</font></font></font>
  370. <font face="Tahoma"><font size="3"><font color="#000000">                        count++;</font></font></font>
  371. <font face="Tahoma"><font size="3"><font color="#000000">                        t++;</font></font></font>
  372. <font face="Tahoma"><font size="3"><font color="#000000">                        if(count >= set_time)   //set_time 通过按键来改变</font></font></font>
  373. <font face="Tahoma"><font size="3"><font color="#000000">                        {</font></font></font>
  374. <font face="Tahoma"><font size="3"><font color="#000000">                                display_flag = 1;</font></font></font>
  375. <font face="Tahoma"><font size="3"><font color="#000000">                                count = 0;           //计数清零</font></font></font>
  376. <font face="Tahoma"><font size="3"><font color="#000000">                        }</font></font></font>
  377. <font face="Tahoma"><font size="3"><font color="#000000">                  if(t == 10)</font></font></font>
  378. <font face="Tahoma"><font size="3"><font color="#000000">                        {</font></font></font>
  379. <font face="Tahoma"><font size="3"><font color="#000000">                                Key_Mode();</font></font></font>
  380. <font face="Tahoma"><font size="3"><font color="#000000">                                Param_Set();</font></font></font>
  381. <font face="Tahoma"><font size="3"><font color="#000000">                                t = 0;</font></font></font>
  382. <font face="Tahoma"><font size="3"><font color="#000000">                        }</font></font></font>
  383. <font face="Tahoma"><font size="3"><font color="#000000">                </font></font></font>
  384. <font face="Tahoma"><font size="3"><font color="#000000">                        TIM_ClearITPendingBit(TIM2, TIM_IT_Update ); //清除 TIM2 更新中断标志</font></font></font>
  385. <font face="Tahoma"><font size="3"><font color="#000000">                }</font></font></font>
  386. <font face="Tahoma"><font size="3"><font color="#000000">}</font></font></font>
  387. <font face="Tahoma"><font size="3"><font color="#000000">
  388. </font></font></font>
  389. <font face="Tahoma"><font size="3"><font color="#000000">
  390. </font></font></font>
  391. <font face="Tahoma"><font size="3"><font color="#000000">/*-------------------------------串口中断服务函数-------------------------*/</font></font></font>
  392. <font face="Tahoma"><font size="3"><font color="#000000">void USART1_IRQHandler(void)</font></font></font>
  393. <font face="Tahoma"><font size="3"><font color="#000000">{</font></font></font>
  394. <font face="Tahoma"><font size="3"><font color="#000000">        char cmd = 0,Alarm = 0;</font></font></font>
  395. <font face="Tahoma"><font size="3"><font color="#000000">        if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //接收中断</font></font></font>
  396. <font face="Tahoma"><font size="3"><font color="#000000">        {</font></font></font>
  397. <font face="Tahoma"><font size="3"><font color="#000000">                cmd = USART_ReceiveData(USART1);</font></font></font>
  398. <font face="Tahoma"><font size="3"><font color="#000000">                //printf("%c",cmd);</font></font></font>
  399. <font face="Tahoma"><font size="3"><font color="#000000">                if(cmd == 0xAA)</font></font></font>
  400. <font face="Tahoma"><font size="3"><font color="#000000">                {</font></font></font>
  401. <font face="Tahoma"><font size="3"><font color="#000000">                                max_temper++;</font></font></font>
  402. <font face="Tahoma"><font size="3"><font color="#000000">                }</font></font></font>
  403. <font face="Tahoma"><font size="3"><font color="#000000">                else if(cmd == 0xBB)</font></font></font>
  404. <font face="Tahoma"><font size="3"><font color="#000000">                {</font></font></font>
  405. <font face="Tahoma"><font size="3"><font color="#000000">                        max_temper--;</font></font></font>
  406. <font face="Tahoma"><font size="3"><font color="#000000">                }</font></font></font>
  407. <font face="Tahoma"><font size="3"><font color="#000000">                else if(cmd == 0xCC)</font></font></font>
  408. <font face="Tahoma"><font size="3"><font color="#000000">                {</font></font></font>
  409. <font face="Tahoma"><font size="3"><font color="#000000">                        PH_Set++;</font></font></font>
  410. <font face="Tahoma"><font size="3"><font color="#000000">                }</font></font></font>
  411. <font face="Tahoma"><font size="3"><font color="#000000">                else if(cmd == 0**)</font></font></font>
  412. <font face="Tahoma"><font size="3"><font color="#000000">                {</font></font></font>
  413. <font face="Tahoma"><font size="3"><font color="#000000">                        PH_Set--;</font></font></font>
  414. <font face="Tahoma"><font size="3"><font color="#000000">                }</font></font></font>
  415. <font face="Tahoma"><font size="3"><font color="#000000">                else if(cmd == 0xEE)</font></font></font>
  416. <font face="Tahoma"><font size="3"><font color="#000000">                {</font></font></font>
  417. <font face="Tahoma"><font size="3"><font color="#000000">                        for(Alarm =0;Alarm<8;Alarm++)</font></font></font>
  418. <font face="Tahoma"><font size="3"><font color="#000000">                        {</font></font></font>
  419. <font face="Tahoma"><font size="3"><font color="#000000">                                BEEP_ON();</font></font></font>
  420. <font face="Tahoma"><font size="3"><font color="#000000">                                delay_ms(300);</font></font></font>
  421. <font face="Tahoma"><font size="3"><font color="#000000">                                BEEP_OFF();</font></font></font>
  422. <font face="Tahoma"><font size="3"><font color="#000000">                                delay_ms(300);</font></font></font>
  423. <font face="Tahoma"><font size="3"><font color="#000000">                        }</font></font></font>
  424. <font face="Tahoma"><font size="3"><font color="#000000">                }</font></font></font>
  425. <font face="Tahoma"><font size="3"><font color="#000000">                else if(cmd == 0xFF)</font></font></font>
  426. <font face="Tahoma"><font size="3"><font color="#000000">                {</font></font></font>
  427. <font face="Tahoma"><font size="3"><font color="#000000">                        //Alarm = 0;</font></font></font>
  428. <font face="Tahoma"><font size="3"><font color="#000000">                        BEEP_OFF();</font></font></font>
  429. <font face="Tahoma"><font size="3"><font color="#000000">                }                </font></font></font>
  430. <font face="Tahoma"><font size="3"><font color="#000000">                else if(cmd == 0xCD)</font></font></font>
  431. <font face="Tahoma"><font size="3"><font color="#000000">                {</font></font></font>
  432. <font face="Tahoma"><font size="3"><font color="#000000">                        set_time = 1; //500ms</font></font></font>
  433. <font face="Tahoma"><font size="3"><font color="#000000">                }        </font></font></font>
  434. <font face="Tahoma"><font size="3"><font color="#000000">                </font></font></font>
  435. <font face="Tahoma"><font size="3"><font color="#000000">                else if(cmd == 0xDE)</font></font></font>
  436. <font face="Tahoma"><font size="3"><font color="#000000">                {</font></font></font>
  437. <font face="Tahoma"><font size="3"><font color="#000000">                        set_time = 2;//2s</font></font></font>
  438. <font face="Tahoma"><font size="3"><font color="#000000">                }        </font></font></font>
  439. <font face="Tahoma"><font size="3"><font color="#000000">                </font></font></font>
  440. <font face="Tahoma"><font size="3"><font color="#000000">                else if(cmd == 0xEF)</font></font></font>
  441. <font face="Tahoma"><font size="3"><font color="#000000">                {</font></font></font>
  442. <font face="Tahoma"><font size="3"><font color="#000000">                        set_time = 3; //3.5s</font></font></font>
  443. <font face="Tahoma"><font size="3"><font color="#000000">                }        </font></font></font>
  444. <font face="Tahoma"><font size="3"><font color="#000000">                USART_ClearFlag(USART1, USART_FLAG_RXNE);</font></font></font>
  445. <font face="Tahoma"><font size="3"><font color="#000000">        }</font></font></font>
  446. <font face="Tahoma"><font size="3"><font color="#000000">}</font></font></font>
复制代码


————————————————
版权声明:@slow-walker


收藏 评论0 发布时间:2022-12-7 16:03

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版