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