From 377c5c74fd0fc4f4e2db4a85fe529401652fb8ad Mon Sep 17 00:00:00 2001 From: StefansE Date: Fri, 3 Apr 2026 22:08:13 +0200 Subject: [PATCH] PWM timming correction - TIM2 --- Core/Src/dma.c | 2 +- Core/Src/main.c | 4 ++-- Core/Src/tim.c | 4 ++-- Core/Src/ws2812_drv.c | 2 +- LedRing.ioc | 6 +++--- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Core/Src/dma.c b/Core/Src/dma.c index a77679f..ebfc348 100644 --- a/Core/Src/dma.c +++ b/Core/Src/dma.c @@ -44,7 +44,7 @@ void MX_DMA_Init(void) /* DMA interrupt init */ /* DMA1_Channel5_IRQn interrupt configuration */ - HAL_NVIC_SetPriority(DMA1_Channel5_IRQn, 6, 0); + HAL_NVIC_SetPriority(DMA1_Channel5_IRQn, 14, 0); HAL_NVIC_EnableIRQ(DMA1_Channel5_IRQn); } diff --git a/Core/Src/main.c b/Core/Src/main.c index 45616d4..c2c2aad 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -158,9 +158,9 @@ int main(void) RxCpltCallback(); - HAL_GPIO_TogglePin(LED_Green_GPIO_Port, LED_Green_Pin); + //HAL_GPIO_TogglePin(LED_Green_GPIO_Port, LED_Green_Pin); - HAL_Delay(1000); + HAL_Delay(100); } /* USER CODE END 3 */ diff --git a/Core/Src/tim.c b/Core/Src/tim.c index decee41..bf885ff 100644 --- a/Core/Src/tim.c +++ b/Core/Src/tim.c @@ -45,7 +45,7 @@ void MX_TIM2_Init(void) htim2.Instance = TIM2; htim2.Init.Prescaler = 0; htim2.Init.CounterMode = TIM_COUNTERMODE_UP; - htim2.Init.Period = 90; + htim2.Init.Period = 100; htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; if (HAL_TIM_Base_Init(&htim2) != HAL_OK) @@ -111,7 +111,7 @@ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle) __HAL_LINKDMA(tim_baseHandle,hdma[TIM_DMA_ID_CC1],hdma_tim2_ch1); /* TIM2 interrupt Init */ - HAL_NVIC_SetPriority(TIM2_IRQn, 6, 0); + HAL_NVIC_SetPriority(TIM2_IRQn, 14, 0); HAL_NVIC_EnableIRQ(TIM2_IRQn); /* USER CODE BEGIN TIM2_MspInit 1 */ diff --git a/Core/Src/ws2812_drv.c b/Core/Src/ws2812_drv.c index d9b9127..dc08741 100644 --- a/Core/Src/ws2812_drv.c +++ b/Core/Src/ws2812_drv.c @@ -13,7 +13,7 @@ static void set_byte(uint32_t pos, uint8_t value); uint8_t pwm_reset[RESET_LEN] = {0}; -uint8_t pwm_full = 90; +uint8_t pwm_full = 100; uint8_t ledStripBuffer[RESET_LEN + LED_N * 24 + 1] = {0}; diff --git a/LedRing.ioc b/LedRing.ioc index 3374ea7..45c25ef 100644 --- a/LedRing.ioc +++ b/LedRing.ioc @@ -49,7 +49,7 @@ Mcu.UserName=STM32F103C6Tx MxCube.Version=6.14.1 MxDb.Version=DB.6.0.141 NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false -NVIC.DMA1_Channel5_IRQn=true\:6\:0\:true\:false\:true\:false\:true\:true +NVIC.DMA1_Channel5_IRQn=true\:14\:0\:true\:false\:true\:false\:true\:true NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.ForceEnableDMAVector=true NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false @@ -59,7 +59,7 @@ NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4 NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:false\:true\:false -NVIC.TIM2_IRQn=true\:6\:0\:true\:false\:true\:true\:true\:true +NVIC.TIM2_IRQn=true\:14\:0\:true\:false\:true\:true\:true\:true NVIC.USB_LP_CAN1_RX0_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false PA0-WKUP.Signal=S_TIM2_CH1_ETR @@ -142,7 +142,7 @@ SH.S_TIM2_CH1_ETR.0=TIM2_CH1,PWM Generation1 CH1 SH.S_TIM2_CH1_ETR.ConfNb=1 TIM2.Channel-PWM\ Generation1\ CH1=TIM_CHANNEL_1 TIM2.IPParameters=Channel-PWM Generation1 CH1,Period,Pulse-PWM Generation1 CH1 -TIM2.Period=90 +TIM2.Period=100 TIM2.Pulse-PWM\ Generation1\ CH1=9 USB_DEVICE.APP_RX_DATA_SIZE=128 USB_DEVICE.APP_TX_DATA_SIZE=128