From 79d5d6bcc3bc634ea2f977c0ecb1f1356554d4b0 Mon Sep 17 00:00:00 2001 From: zhyinch <zhyinch@gmail.com> Date: 星期四, 07 十一月 2019 15:33:21 +0800 Subject: [PATCH] 修改串口数组个数bug,增加报警距离功能 --- 源码/核心板/Src/application/global_param.c | 4 ++-- 源码/核心板/Src/application/beep_logic_app.c | 13 +++++++------ 源码/核心板/Src/ExternalDevices/beep.h | 9 +++++++++ 源码/核心板/Src/stm32f10x_it.c | 2 ++ 源码/核心板/Src/ExternalDevices/beep.c | 7 +++++++ 源码/核心板/Src/OnChipDevices/Usart.h | 2 +- 6 files changed, 28 insertions(+), 9 deletions(-) diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/beep.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/beep.c" index 85bc0a1..5ef9931 100644 --- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/beep.c" +++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/beep.c" @@ -12,6 +12,13 @@ GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; GPIO_Init(KEY0_GPIO, &GPIO_InitStructure); + // // Enable GPIO used for beep + GPIO_InitStructure.GPIO_Pin = RELAY1_PIN|RELAY2_PIN; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_Init(RELAY1_GPIO, &GPIO_InitStructure); + + // // Enable GPIO used for beep // GPIO_InitStructure.GPIO_Pin = BEEP_PIN; // GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/beep.h" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/beep.h" index 130dcc4..b862d84 100644 --- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/beep.h" +++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/beep.h" @@ -23,6 +23,15 @@ #define OUT2_ON GPIO_WriteBit(OUT2_GPIO, OUT2_PIN, Bit_SET) #define OUT2_OFF GPIO_WriteBit(OUT2_GPIO, OUT2_PIN, Bit_RESET) +#define RELAY1_GPIO GPIOB +#define RELAY1_PIN GPIO_Pin_1 +#define RELAY1_ON GPIO_WriteBit(RELAY1_GPIO, RELAY1_PIN, Bit_SET) +#define RELAY1_OFF GPIO_WriteBit(RELAY1_GPIO, RELAY1_PIN, Bit_RESET) + +#define RELAY2_GPIO GPIOB +#define RELAY2_PIN GPIO_Pin_2 +#define RELAY2_ON GPIO_WriteBit(RELAY2_GPIO, RELAY2_PIN, Bit_SET) +#define RELAY2_OFF GPIO_WriteBit(RELAY2_GPIO, RELAY2_PIN, Bit_RESET) void Beep_Init(void); diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/OnChipDevices/Usart.h" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/OnChipDevices/Usart.h" index bdd2c30..320c7dc 100644 --- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/OnChipDevices/Usart.h" +++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/OnChipDevices/Usart.h" @@ -30,7 +30,7 @@ #define EUART_RX_DMA_CH DMA1_Channel5 #define EUART_TX_DMA_CH DMA1_Channel4 -#define EUART_TX_FRM_SIZE 4 //发送队列中的最大帧数 +#define EUART_TX_FRM_SIZE 14 //发送队列中的最大帧数 #define EUART_TX_FRMBUF_SIZE 200 //发送队列每帧缓存大小 #define EUART_RX_BUF_SIZE 200 //接收缓存大小 diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/beep_logic_app.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/beep_logic_app.c" index 74c8075..a40b977 100644 --- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/beep_logic_app.c" +++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/beep_logic_app.c" @@ -39,12 +39,13 @@ beep_state=1; } -// else if (min_dist <= g_com_map[ALARM_DISTANCE2]) -// { -// beep_ontime = ONTIME2; -// beep_offtime = OFFTIME2; -// beep_state=1; -// }else if (min_dist <= g_com_map[ALARM_DISTANCE3]) + else if (min_dist <= g_com_map[ALARM_DISTANCE2]) + { + beep_ontime = ONTIME2; + beep_offtime = OFFTIME2; + beep_state=1; + } + //else if (min_dist <= g_com_map[ALARM_DISTANCE3]) // { // beep_ontime = ONTIME3; // beep_offtime = OFFTIME3; diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/global_param.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/global_param.c" index 3a68e3e..d8930cf 100644 --- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/global_param.c" +++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/global_param.c" @@ -30,14 +30,14 @@ g_com_map[COM_INTERVAL]=50; g_com_map[MAX_REPORT_ANC_NUM]=2; g_com_map[MIN_REPORT_ANC_NUM]=2; - g_com_map[DIST_OFFSET]=-40; + g_com_map[DIST_OFFSET]=-13; #ifdef WORK_MODE_TAG g_com_map[DEV_ROLE] =0x1; //标签 #else g_com_map[DEV_ROLE] =0x0; //基站 #endif g_com_map[ANC_POLL]=0; - g_com_map[ALARM_DEV] = 1; + g_com_map[ALARM_DEV] = 0; g_com_map[ALARM_DISTANCE1] = 100; //默认报警距离50cm g_com_map[ALARM_DISTANCE2] = 600; //默认报警距离50cm g_com_map[ALARM_DISTANCE3] = 900; //默认报警距离50cm diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/stm32f10x_it.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/stm32f10x_it.c" index c1e9ce1..96ad665 100644 --- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/stm32f10x_it.c" +++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/stm32f10x_it.c" @@ -63,6 +63,8 @@ { tag_recv_timer++; TagDistClear(); + if(g_com_map[ALARM_DEV]!=0) + main_logic(); if(sync_timer==10) { GPIO_WriteBit(GPIOA, GPIO_Pin_9, Bit_SET); -- Gitblit v1.9.3