From 71d28cf536abded3b3a0057dedaa3dc6af4a8b3e Mon Sep 17 00:00:00 2001 From: YunHorn Technology <dp.s@yunhorn.com> Date: Thu, 27 Feb 2025 19:40:59 +0800 Subject: [PATCH] good decode sos, 2 remote controllers --- Core/Src/main.c | 28 +++++++++++++++++++++++++- Core/Src/stm32wlxx_hal_msp.c | 1 + Core/Src/stm32wlxx_it.c | 5 +++-- Core/Src/tim.c | 13 ++++++++---- STM32CubeIDE/Release/WL55JC_AS923.elf | Bin 68660 -> 69328 bytes 5 files changed, 40 insertions(+), 7 deletions(-) diff --git a/Core/Src/main.c b/Core/Src/main.c index 785bc00..b80cbb9 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -137,16 +137,42 @@ int main(void) // MX_USART1_UART_Init(); - //MX_TIM1_Init(); + MX_TIM1_Init(); MX_TIM2_Init(); /*## Start the TIM Base generation in interrupt mode ####################*/ /* Start Channel1 */ + if (HAL_TIM_Base_Start_IT(&htim1) != HAL_OK) + { + /* Starting Error */ + Error_Handler(); + } + + if (HAL_TIM_Base_Start_IT(&htim2) != HAL_OK) { /* Starting Error */ Error_Handler(); } + /* --------------------------------------------------------------------------- */ +#if 1 + /*## Start the Input Capture in interrupt mode ##########################*/ + if (HAL_TIM_IC_Start_IT(&htim1, TIM_CHANNEL_2) != HAL_OK) + { + /* Starting Error */ + Error_Handler(); + } +#endif + +#if 1 + /*## Start the Input Capture in interrupt mode ##########################*/ + if (HAL_TIM_IC_Start_IT(&htim1, TIM_CHANNEL_1) != HAL_OK) + { + /* Starting Error */ + Error_Handler(); + } + +#endif printf("start \r\n"); diff --git a/Core/Src/stm32wlxx_hal_msp.c b/Core/Src/stm32wlxx_hal_msp.c index 5e315e3..c8af3b3 100644 --- a/Core/Src/stm32wlxx_hal_msp.c +++ b/Core/Src/stm32wlxx_hal_msp.c @@ -192,6 +192,7 @@ void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base) /* USER CODE END TIM2_MspDeInit 1 */ } + } /* USER CODE BEGIN 1 */ diff --git a/Core/Src/stm32wlxx_it.c b/Core/Src/stm32wlxx_it.c index ee6d2e7..13f9d74 100644 --- a/Core/Src/stm32wlxx_it.c +++ b/Core/Src/stm32wlxx_it.c @@ -459,13 +459,14 @@ void SUBGHZ_Radio_IRQHandler(void) } /* USER CODE BEGIN 1 */ -#if 1 +#if 0 void TIM1_IRQHandler(void) { HAL_TIM_IRQHandler(&htim1); } #endif -#if 1 + +#if 0 /** * @brief This function handles TIM1 Capture Compare Interrupt. */ diff --git a/Core/Src/tim.c b/Core/Src/tim.c index 67a6b18..0a0dbd7 100644 --- a/Core/Src/tim.c +++ b/Core/Src/tim.c @@ -89,7 +89,7 @@ void MX_TIM1_Init(void) htim1.Instance = TIM1; htim1.Init.Prescaler = TIM1_PRESCALER_VALUE; htim1.Init.CounterMode = TIM_COUNTERMODE_UP; - htim1.Init.Period = TIM1_PERIOD_VALUE; // TIM1_PERIOD_VALUE; // 0xffff; // TIM1_PERIOD_VALUE; + htim1.Init.Period = 9*TIM1_PERIOD_VALUE; // TIM1_PERIOD_VALUE; // 0xffff; // TIM1_PERIOD_VALUE; htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; htim1.Init.RepetitionCounter = 0; htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; @@ -257,8 +257,13 @@ void EV1527Decode(uint32_t v) void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { - //printf("."); - RF_Signal_Decode(); + if (TIM1 == htim->Instance) + { + printf("."); + } else if (TIM2 == htim->Instance) + { + RF_Signal_Decode(); + } } @@ -270,7 +275,7 @@ void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim) static uint32_t highCnt=0, lowCnt=0; static uint8_t sync=0; - //printf(" cc "); + printf(" cc "); // RF_Signal_Decode(); if (TIM1 == htim->Instance) diff --git a/STM32CubeIDE/Release/WL55JC_AS923.elf b/STM32CubeIDE/Release/WL55JC_AS923.elf index d80305a9605d3dfd22811494f12e991b31cf0de3..2e50cb35ffc7367b7ef7d6009857886b96f06155 100644 GIT binary patch delta 23367 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 XTINlS?Id%+6TuSuY18mvspJ0vupNq{ delta 20862 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 F{V$abD0=_^