From cd37e4ce22e7d61e5cfd9ff88fca38eaeab5e363 Mon Sep 17 00:00:00 2001 From: zhyinch <zhyinch@gmail.com> Date: 星期六, 15 九月 2018 20:02:23 +0800 Subject: [PATCH] 改成快速通讯参数 --- 源码/核心板/Src/main.c | 94 +++++++++++++++++++++++++++++++++++++---------- 1 files changed, 74 insertions(+), 20 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..d271c2c 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,15 @@ #include "dw_app.h" #include "filters.h" #include "stm32f10x_it.h" +#include "serial_at_cmd_app.h" +#include "deca_device_api.h" -//#define WORK_MODE_TAG -#define WORK_MODE_ANCHOR +#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) { @@ -22,16 +24,24 @@ SystemInit(); Nvic_Init(); Systick_Init(); +#ifdef WORK_MODE_TAG + RTC_Configuration(); +#endif 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() * @@ -41,52 +51,96 @@ * * @return none */ +extern uint8_t send_start; int main(void) { 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); + #ifdef WORK_MODE_TAG + dwt_configuresleep(0x940, 0x7); + _dwt_aonarrayupload(); + //dwt_entersleep(); + #endif + /* Loop forever initiating ranging exchanges. */ while(1) { #ifdef WORK_MODE_TAG + + if(send_start) + {send_start=0; Tag_App(); + } + RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE); +PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI); #else 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