From 20a2aa293307cf9216d3deddb0e2e003e07068f9 Mon Sep 17 00:00:00 2001
From: guanjiao <sqrgj@163.com>
Date: 星期三, 12 九月 2018 09:25:32 +0800
Subject: [PATCH] 新增串口AT指令解析c文件

---
 源码/核心板/Src/main.c |   73 +++++++++++++++++++++++++++---------
 1 files changed, 55 insertions(+), 18 deletions(-)

diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/main.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/main.c"
index 49dd841..2f3ac86 100644
--- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/main.c"
+++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/main.c"
@@ -8,13 +8,14 @@
 #include "dw_app.h"
 #include "filters.h"
 #include "stm32f10x_it.h"
+#include "serial_at_cmd_app.h"
 
 //#define WORK_MODE_TAG
 #define WORK_MODE_ANCHOR
 #define START_ALARM_DIST_CM			200
 #define BEEM_ON_TIME_MS				200
 
-float dis_after_filter = 0;
+float dis_after_filter = 500;
 
 void Device_Init(void)
 {
@@ -25,13 +26,18 @@
 	Led_Init();
 	Beep_Init();
 	DW_GPIO_Init();
-	Usart_Init();
+	Uart1_Init();
 	Spi_Init();
+	
 	
 	GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
 }
-		
-		uint8_t aa;
+
+void Parameter_Init(void)
+{
+	Usart1ParseDataCallback = UsartParseDataHandler;
+}
+
 /*! ------------------------------------------------------------------------------------------------------------------
  * @fn main()
  *
@@ -46,8 +52,9 @@
 	LPFilter_Frac* p_Dis_Filter;
 	
 	Device_Init();
+	Parameter_Init();
 	Dw1000_Init();
-	p_Dis_Filter = New_LP_Frac(0.9);
+	p_Dis_Filter = New_LP_Frac(0.7);
 
     /* Loop forever initiating ranging exchanges. */
 	while(1)
@@ -58,35 +65,65 @@
 		Anchor_App();
 
 #endif
-		if(USART_GetFlagStatus(EXT_USART, USART_FLAG_RXNE) != RESET)
-		{
-			aa = USART_ReceiveData(EXT_USART);
-			USART_SendData(EXT_USART, 0x66);//向串口1发送数据
-
-			while(USART_GetFlagStatus(EXT_USART, USART_FLAG_TC)!=SET);//等待发送结束
-			
-			aa = 0;
-		}
 		
 		//除UWB之外的其他代码...
 		dis_after_filter = LP_Frac_Update(p_Dis_Filter, dist_cm);
 		
-		if(dis_after_filter <= START_ALARM_DIST_CM)
+		if(dis_after_filter <= g_alarm_dist)
 		{
 //			g_beep_off_time = (uint32_t)dis_after_filter * 10;
 //			if(g_beep_off_time <= 0) 
 //				g_beep_off_time = 0;
 //			g_beep_on_time = BEEM_ON_TIME_MS;
-			OUT2_ON;		
-			
+			switch(g_alarm_dev) 
+			{
+				case 0:
+					BEEP2_ON;
+					BEEP_OFF;
+					OUT2_OFF;
+					break;
+				case 1:
+					BEEP_ON;
+					BEEP2_OFF;
+					OUT2_OFF;
+					break;
+				case 2:
+					OUT2_ON;
+					BEEP_OFF;
+					BEEP2_OFF;
+					break;
+				default:
+					BEEP2_ON;
+					BEEP_ON;
+					OUT2_ON;
+					break;
+			}
 		}
 		else
 		{
 //			g_beep_on_time = 0;
 //			g_beep_off_time = 0;
-			OUT2_OFF;
+			switch(g_alarm_dev) 
+			{
+				case 0:
+					BEEP2_OFF;
+					break;
+				case 1:
+					BEEP_OFF;
+					break;
+				case 2:
+					OUT2_OFF;
+					break;
+				default:
+					BEEP2_OFF;
+					BEEP_OFF;
+					OUT2_OFF;
+					break;
+			}
 		}
 		
+
+		
 	}
 }
 

--
Gitblit v1.9.3