From f41e89f0825b39b4b98b8a82e9e8fd5c655de55d Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期四, 14 九月 2023 15:07:43 +0800 Subject: [PATCH] 版本v2.70,加入防撞代码,uwb 4G --- Src/stm32l0xx_it.c | 41 +++++++++++++++++++++++++++++++++++++---- 1 files changed, 37 insertions(+), 4 deletions(-) diff --git a/Src/stm32l0xx_it.c b/Src/stm32l0xx_it.c index 5f240d8..45a2638 100644 --- a/Src/stm32l0xx_it.c +++ b/Src/stm32l0xx_it.c @@ -43,6 +43,8 @@ /* Private variables ---------------------------------------------------------*/ /* USER CODE BEGIN PV */ float nomove_count=0; +float button_delay = 1; +u16 button_start; /* USER CODE END PV */ /* Private function prototypes -----------------------------------------------*/ @@ -61,11 +63,13 @@ extern DMA_HandleTypeDef hdma_usart1_tx; extern UART_HandleTypeDef huart1; /* USER CODE BEGIN EV */ - +float motor_ontime=0; +uint8_t userkey_state = 0; +extern u8 active_flag; /* USER CODE END EV */ /******************************************************************************/ -/* Cortex-M0+ Processor Interruption and Exception Handlers */ +/* Cortex-M0+ Processor Interruption and Exception Handlers */ /******************************************************************************/ /** * @brief This function handles Non maskable interrupt. @@ -91,6 +95,8 @@ while (1) { /* USER CODE BEGIN W1_HardFault_IRQn 0 */ + printf("HardFault_Handler.\r\n"); + SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; /* USER CODE END W1_HardFault_IRQn 0 */ } } @@ -148,14 +154,41 @@ void EXTI0_1_IRQHandler(void) { /* USER CODE BEGIN EXTI0_1_IRQn 0 */ + static u16 lastcount=0; + u16 count_diff; + SystemClock_Config(); if(GET_IMUINT) { nomove_count = 0; } - if(!GET_USERKEY) + if(!GET_USERKEY) { - waitusart_timer = tag_frequency*USART_KEEPWAKE_TIME; + userkey_state = 1; + if(button_delay>=1) + { + button_start = GetLPTime(); + button_delay = 0; + }else{ + u16 button_time = GetLPTime()-button_start; + if(button_time<0) + button_time+=1000; + if(button_time>50&&button_time<300) + { + DoubleClickProcess(); + } + + } + if(g_com_map[MOTOR_ENABLE]) + { + MOTOR_ON; + delay_ms(10); + MOTOR_OFF; + } + nomove_count = 0; +// waitusart_timer = tag_frequency*USART_KEEPWAKE_TIME; + // UsartInit(); + // MOTOR_ON; } -- Gitblit v1.9.3