diff --git a/HAL_N_Middlewares/Inc/tim.h b/HAL_N_Middlewares/Inc/tim.h index 2684cc9..dd163b6 100644 --- a/HAL_N_Middlewares/Inc/tim.h +++ b/HAL_N_Middlewares/Inc/tim.h @@ -38,6 +38,8 @@ extern TIM_HandleTypeDef htim4; extern TIM_HandleTypeDef htim5; +extern TIM_HandleTypeDef htim8; + extern TIM_HandleTypeDef htim10; /* USER CODE BEGIN Private defines */ @@ -47,6 +49,7 @@ extern TIM_HandleTypeDef htim10; void MX_TIM1_Init(void); void MX_TIM4_Init(void); void MX_TIM5_Init(void); +void MX_TIM8_Init(void); void MX_TIM10_Init(void); void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim); diff --git a/HAL_N_Middlewares/Src/gpio.c b/HAL_N_Middlewares/Src/gpio.c index 07edf6b..b7dc222 100644 --- a/HAL_N_Middlewares/Src/gpio.c +++ b/HAL_N_Middlewares/Src/gpio.c @@ -50,6 +50,7 @@ void MX_GPIO_Init(void) __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOD_CLK_ENABLE(); __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOI_CLK_ENABLE(); __HAL_RCC_GPIOH_CLK_ENABLE(); __HAL_RCC_GPIOE_CLK_ENABLE(); diff --git a/HAL_N_Middlewares/Src/tim.c b/HAL_N_Middlewares/Src/tim.c index c665bb8..ae82a9c 100644 --- a/HAL_N_Middlewares/Src/tim.c +++ b/HAL_N_Middlewares/Src/tim.c @@ -27,6 +27,7 @@ TIM_HandleTypeDef htim1; TIM_HandleTypeDef htim4; TIM_HandleTypeDef htim5; +TIM_HandleTypeDef htim8; TIM_HandleTypeDef htim10; /* TIM1 init function */ @@ -37,6 +38,7 @@ void MX_TIM1_Init(void) /* USER CODE END TIM1_Init 0 */ + TIM_ClockConfigTypeDef sClockSourceConfig = {0}; TIM_MasterConfigTypeDef sMasterConfig = {0}; TIM_OC_InitTypeDef sConfigOC = {0}; TIM_BreakDeadTimeConfigTypeDef sBreakDeadTimeConfig = {0}; @@ -51,6 +53,15 @@ void MX_TIM1_Init(void) htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; htim1.Init.RepetitionCounter = 0; htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + if (HAL_TIM_Base_Init(&htim1) != HAL_OK) + { + Error_Handler(); + } + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) + { + Error_Handler(); + } if (HAL_TIM_PWM_Init(&htim1) != HAL_OK) { Error_Handler(); @@ -72,6 +83,18 @@ void MX_TIM1_Init(void) { Error_Handler(); } + if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_2) != HAL_OK) + { + Error_Handler(); + } + if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_3) != HAL_OK) + { + Error_Handler(); + } + if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_4) != HAL_OK) + { + Error_Handler(); + } sBreakDeadTimeConfig.OffStateRunMode = TIM_OSSR_DISABLE; sBreakDeadTimeConfig.OffStateIDLEMode = TIM_OSSI_DISABLE; sBreakDeadTimeConfig.LockLevel = TIM_LOCKLEVEL_OFF; @@ -204,6 +227,84 @@ void MX_TIM5_Init(void) /* USER CODE END TIM5_Init 2 */ HAL_TIM_MspPostInit(&htim5); +} +/* TIM8 init function */ +void MX_TIM8_Init(void) +{ + + /* USER CODE BEGIN TIM8_Init 0 */ + + /* USER CODE END TIM8_Init 0 */ + + TIM_ClockConfigTypeDef sClockSourceConfig = {0}; + TIM_MasterConfigTypeDef sMasterConfig = {0}; + TIM_OC_InitTypeDef sConfigOC = {0}; + TIM_BreakDeadTimeConfigTypeDef sBreakDeadTimeConfig = {0}; + + /* USER CODE BEGIN TIM8_Init 1 */ + + /* USER CODE END TIM8_Init 1 */ + htim8.Instance = TIM8; + htim8.Init.Prescaler = 167; + htim8.Init.CounterMode = TIM_COUNTERMODE_UP; + htim8.Init.Period = 19999; + htim8.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim8.Init.RepetitionCounter = 0; + htim8.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + if (HAL_TIM_Base_Init(&htim8) != HAL_OK) + { + Error_Handler(); + } + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + if (HAL_TIM_ConfigClockSource(&htim8, &sClockSourceConfig) != HAL_OK) + { + Error_Handler(); + } + if (HAL_TIM_OC_Init(&htim8) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim8, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + sConfigOC.OCMode = TIM_OCMODE_TIMING; + sConfigOC.Pulse = 0; + sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; + sConfigOC.OCNPolarity = TIM_OCNPOLARITY_HIGH; + sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; + sConfigOC.OCIdleState = TIM_OCIDLESTATE_RESET; + sConfigOC.OCNIdleState = TIM_OCNIDLESTATE_RESET; + if (HAL_TIM_OC_ConfigChannel(&htim8, &sConfigOC, TIM_CHANNEL_1) != HAL_OK) + { + Error_Handler(); + } + if (HAL_TIM_OC_ConfigChannel(&htim8, &sConfigOC, TIM_CHANNEL_2) != HAL_OK) + { + Error_Handler(); + } + if (HAL_TIM_OC_ConfigChannel(&htim8, &sConfigOC, TIM_CHANNEL_3) != HAL_OK) + { + Error_Handler(); + } + sBreakDeadTimeConfig.OffStateRunMode = TIM_OSSR_DISABLE; + sBreakDeadTimeConfig.OffStateIDLEMode = TIM_OSSI_DISABLE; + sBreakDeadTimeConfig.LockLevel = TIM_LOCKLEVEL_OFF; + sBreakDeadTimeConfig.DeadTime = 0; + sBreakDeadTimeConfig.BreakState = TIM_BREAK_DISABLE; + sBreakDeadTimeConfig.BreakPolarity = TIM_BREAKPOLARITY_HIGH; + sBreakDeadTimeConfig.AutomaticOutput = TIM_AUTOMATICOUTPUT_DISABLE; + if (HAL_TIMEx_ConfigBreakDeadTime(&htim8, &sBreakDeadTimeConfig) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM8_Init 2 */ + + /* USER CODE END TIM8_Init 2 */ + HAL_TIM_MspPostInit(&htim8); + } /* TIM10 init function */ void MX_TIM10_Init(void) @@ -247,10 +348,10 @@ void MX_TIM10_Init(void) } -void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* tim_pwmHandle) +void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle) { - if(tim_pwmHandle->Instance==TIM1) + if(tim_baseHandle->Instance==TIM1) { /* USER CODE BEGIN TIM1_MspInit 0 */ @@ -261,12 +362,7 @@ void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* tim_pwmHandle) /* USER CODE END TIM1_MspInit 1 */ } -} - -void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle) -{ - - if(tim_baseHandle->Instance==TIM4) + else if(tim_baseHandle->Instance==TIM4) { /* USER CODE BEGIN TIM4_MspInit 0 */ @@ -288,6 +384,17 @@ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle) /* USER CODE END TIM5_MspInit 1 */ } + else if(tim_baseHandle->Instance==TIM8) + { + /* USER CODE BEGIN TIM8_MspInit 0 */ + + /* USER CODE END TIM8_MspInit 0 */ + /* TIM8 clock enable */ + __HAL_RCC_TIM8_CLK_ENABLE(); + /* USER CODE BEGIN TIM8_MspInit 1 */ + + /* USER CODE END TIM8_MspInit 1 */ + } else if(tim_baseHandle->Instance==TIM10) { /* USER CODE BEGIN TIM10_MspInit 0 */ @@ -311,8 +418,18 @@ void HAL_TIM_MspPostInit(TIM_HandleTypeDef* timHandle) /* USER CODE END TIM1_MspPostInit 0 */ __HAL_RCC_GPIOE_CLK_ENABLE(); /**TIM1 GPIO Configuration + PE13 ------> TIM1_CH3 PE9 ------> TIM1_CH1 + PE11 ------> TIM1_CH2 + PE14 ------> TIM1_CH4 */ + GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_11|GPIO_PIN_14; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + GPIO_InitStruct.Alternate = GPIO_AF1_TIM1; + HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); + GPIO_InitStruct.Pin = SERVO_Pin; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_PULLUP; @@ -368,6 +485,37 @@ void HAL_TIM_MspPostInit(TIM_HandleTypeDef* timHandle) /* USER CODE END TIM5_MspPostInit 1 */ } + else if(timHandle->Instance==TIM8) + { + /* USER CODE BEGIN TIM8_MspPostInit 0 */ + + /* USER CODE END TIM8_MspPostInit 0 */ + + __HAL_RCC_GPIOI_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + /**TIM8 GPIO Configuration + PI7 ------> TIM8_CH3 + PI6 ------> TIM8_CH2 + PC6 ------> TIM8_CH1 + */ + GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_6; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + GPIO_InitStruct.Alternate = GPIO_AF3_TIM8; + HAL_GPIO_Init(GPIOI, &GPIO_InitStruct); + + GPIO_InitStruct.Pin = GPIO_PIN_6; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + GPIO_InitStruct.Alternate = GPIO_AF3_TIM8; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /* USER CODE BEGIN TIM8_MspPostInit 1 */ + + /* USER CODE END TIM8_MspPostInit 1 */ + } else if(timHandle->Instance==TIM10) { /* USER CODE BEGIN TIM10_MspPostInit 0 */ @@ -392,10 +540,10 @@ void HAL_TIM_MspPostInit(TIM_HandleTypeDef* timHandle) } -void HAL_TIM_PWM_MspDeInit(TIM_HandleTypeDef* tim_pwmHandle) +void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle) { - if(tim_pwmHandle->Instance==TIM1) + if(tim_baseHandle->Instance==TIM1) { /* USER CODE BEGIN TIM1_MspDeInit 0 */ @@ -406,12 +554,7 @@ void HAL_TIM_PWM_MspDeInit(TIM_HandleTypeDef* tim_pwmHandle) /* USER CODE END TIM1_MspDeInit 1 */ } -} - -void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle) -{ - - if(tim_baseHandle->Instance==TIM4) + else if(tim_baseHandle->Instance==TIM4) { /* USER CODE BEGIN TIM4_MspDeInit 0 */ @@ -433,6 +576,17 @@ void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle) /* USER CODE END TIM5_MspDeInit 1 */ } + else if(tim_baseHandle->Instance==TIM8) + { + /* USER CODE BEGIN TIM8_MspDeInit 0 */ + + /* USER CODE END TIM8_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_TIM8_CLK_DISABLE(); + /* USER CODE BEGIN TIM8_MspDeInit 1 */ + + /* USER CODE END TIM8_MspDeInit 1 */ + } else if(tim_baseHandle->Instance==TIM10) { /* USER CODE BEGIN TIM10_MspDeInit 0 */ diff --git a/HAL_N_Middlewares/Src/usart.c b/HAL_N_Middlewares/Src/usart.c index f18a741..31895f5 100644 --- a/HAL_N_Middlewares/Src/usart.c +++ b/HAL_N_Middlewares/Src/usart.c @@ -141,14 +141,14 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle) */ GPIO_InitStruct.Pin = GPIO_PIN_7; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; - GPIO_InitStruct.Pull = GPIO_PULLUP; + GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; GPIO_InitStruct.Alternate = GPIO_AF7_USART1; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); GPIO_InitStruct.Pin = GPIO_PIN_9; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; - GPIO_InitStruct.Pull = GPIO_PULLUP; + GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; GPIO_InitStruct.Alternate = GPIO_AF7_USART1; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); diff --git a/basic_framework.ioc b/basic_framework.ioc index 1e38b76..851ff09 100644 --- a/basic_framework.ioc +++ b/basic_framework.ioc @@ -88,13 +88,14 @@ Mcu.IP10=SYS Mcu.IP11=TIM1 Mcu.IP12=TIM4 Mcu.IP13=TIM5 -Mcu.IP14=TIM10 -Mcu.IP15=USART1 -Mcu.IP16=USART3 -Mcu.IP17=USART6 -Mcu.IP18=USB_DEVICE -Mcu.IP19=USB_OTG_FS +Mcu.IP14=TIM8 +Mcu.IP15=TIM10 +Mcu.IP16=USART1 +Mcu.IP17=USART3 +Mcu.IP18=USART6 +Mcu.IP19=USB_DEVICE Mcu.IP2=CAN2 +Mcu.IP20=USB_OTG_FS Mcu.IP3=DMA Mcu.IP4=FREERTOS Mcu.IP5=NVIC @@ -102,7 +103,7 @@ Mcu.IP6=RCC Mcu.IP7=RNG Mcu.IP8=RTC Mcu.IP9=SPI1 -Mcu.IPNb=20 +Mcu.IPNb=21 Mcu.Name=STM32F407I(E-G)Hx Mcu.Package=UFBGA176 Mcu.Pin0=PB8 @@ -110,41 +111,49 @@ Mcu.Pin1=PB5 Mcu.Pin10=PC11 Mcu.Pin11=PC10 Mcu.Pin12=PA12 -Mcu.Pin13=PG9 -Mcu.Pin14=PD1 -Mcu.Pin15=PA11 -Mcu.Pin16=PA9 -Mcu.Pin17=PH0-OSC_IN -Mcu.Pin18=PH1-OSC_OUT -Mcu.Pin19=PH12 +Mcu.Pin13=PI7 +Mcu.Pin14=PI6 +Mcu.Pin15=PG9 +Mcu.Pin16=PD1 +Mcu.Pin17=PA11 +Mcu.Pin18=PA9 +Mcu.Pin19=PH0-OSC_IN Mcu.Pin2=PG14 -Mcu.Pin20=PH11 -Mcu.Pin21=PH10 -Mcu.Pin22=PD14 -Mcu.Pin23=PA0-WKUP -Mcu.Pin24=PA4 -Mcu.Pin25=PE9 -Mcu.Pin26=PA7 -Mcu.Pin27=PB0 -Mcu.Pin28=VP_ADC1_TempSens_Input -Mcu.Pin29=VP_ADC1_Vref_Input +Mcu.Pin20=PH1-OSC_OUT +Mcu.Pin21=PC6 +Mcu.Pin22=PH12 +Mcu.Pin23=PH11 +Mcu.Pin24=PH10 +Mcu.Pin25=PD14 +Mcu.Pin26=PA0-WKUP +Mcu.Pin27=PA4 +Mcu.Pin28=PE13 +Mcu.Pin29=PE9 Mcu.Pin3=PB4 -Mcu.Pin30=VP_FREERTOS_VS_CMSIS_V1 -Mcu.Pin31=VP_RNG_VS_RNG -Mcu.Pin32=VP_RTC_VS_RTC_Activate -Mcu.Pin33=VP_SYS_VS_Systick -Mcu.Pin34=VP_TIM4_VS_ClockSourceINT -Mcu.Pin35=VP_TIM5_VS_ClockSourceINT -Mcu.Pin36=VP_TIM10_VS_ClockSourceINT -Mcu.Pin37=VP_USB_DEVICE_VS_USB_DEVICE_CDC_FS -Mcu.Pin38=VP_STMicroelectronics.X-CUBE-ALGOBUILD_VS_DSPOoLibraryJjLibrary_1.3.0_1.3.0 +Mcu.Pin30=PE11 +Mcu.Pin31=PE14 +Mcu.Pin32=PA7 +Mcu.Pin33=PB0 +Mcu.Pin34=VP_ADC1_TempSens_Input +Mcu.Pin35=VP_ADC1_Vref_Input +Mcu.Pin36=VP_FREERTOS_VS_CMSIS_V1 +Mcu.Pin37=VP_RNG_VS_RNG +Mcu.Pin38=VP_RTC_VS_RTC_Activate +Mcu.Pin39=VP_SYS_VS_Systick Mcu.Pin4=PB3 +Mcu.Pin40=VP_TIM1_VS_ClockSourceINT +Mcu.Pin41=VP_TIM4_VS_ClockSourceINT +Mcu.Pin42=VP_TIM5_VS_ClockSourceINT +Mcu.Pin43=VP_TIM8_VS_ClockSourceINT +Mcu.Pin44=VP_TIM10_VS_ClockSourceINT +Mcu.Pin45=VP_USB_DEVICE_VS_USB_DEVICE_CDC_FS +Mcu.Pin46=VP_STMicroelectronics.X-CUBE-ALGOBUILD_VS_DSPOoLibraryJjLibrary_1.3.0_1.3.0 Mcu.Pin5=PA14 Mcu.Pin6=PA13 Mcu.Pin7=PB7 Mcu.Pin8=PB6 Mcu.Pin9=PD0 -Mcu.PinsNb=39 +Mcu.PinsNb=47 Mcu.ThirdParty0=STMicroelectronics.X-CUBE-ALGOBUILD.1.3.0 Mcu.ThirdPartyNb=1 Mcu.UserConstants= @@ -173,7 +182,7 @@ NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:false\:false\:false\:false\:false NVIC.SavedPendsvIrqHandlerGenerated=true NVIC.SavedSvcallIrqHandlerGenerated=true NVIC.SavedSystickIrqHandlerGenerated=true -NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:true\:false\:false\:false +NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:true\:false\:true\:false NVIC.USART1_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true NVIC.USART3_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true NVIC.USART6_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true @@ -244,6 +253,8 @@ PC10.Signal=USART3_TX PC11.Locked=true PC11.Mode=Asynchronous PC11.Signal=USART3_RX +PC6.Locked=true +PC6.Signal=S_TIM8_CH1 PD0.Locked=true PD0.Mode=CAN_Activate PD0.Signal=CAN1_RX @@ -256,6 +267,10 @@ PD14.GPIO_PuPd=GPIO_PULLUP PD14.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH PD14.Locked=true PD14.Signal=S_TIM4_CH3 +PE11.Signal=S_TIM1_CH2 +PE13.Locked=true +PE13.Signal=S_TIM1_CH3 +PE14.Signal=S_TIM1_CH4 PE9.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label PE9.GPIO_Label=SERVO PE9.GPIO_PuPd=GPIO_PULLUP @@ -290,10 +305,12 @@ PH12.GPIO_PuPd=GPIO_PULLUP PH12.GPIO_Speed=GPIO_SPEED_FREQ_HIGH PH12.Locked=true PH12.Signal=S_TIM5_CH3 +PI6.Signal=S_TIM8_CH2 +PI7.Signal=S_TIM8_CH3 PinOutPanel.CurrentBGAView=Top PinOutPanel.RotationAngle=0 ProjectManager.AskForMigrate=true -ProjectManager.BackupPrevious=true +ProjectManager.BackupPrevious=false ProjectManager.CompilerOptimize=6 ProjectManager.ComputerToolchain=false ProjectManager.CoupleFile=true @@ -319,7 +336,7 @@ ProjectManager.StackSize=0x4000 ProjectManager.TargetToolchain=Makefile ProjectManager.ToolChainLocation= ProjectManager.UnderRoot=false -ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-MX_DMA_Init-DMA-false-HAL-true,3-SystemClock_Config-RCC-false-HAL-false,4-MX_ADC1_Init-ADC1-false-HAL-true,5-MX_CAN1_Init-CAN1-false-HAL-true,6-MX_CAN2_Init-CAN2-false-HAL-true,7-MX_SPI1_Init-SPI1-false-HAL-true,8-MX_TIM4_Init-TIM4-false-HAL-true,9-MX_TIM5_Init-TIM5-false-HAL-true,10-MX_USART3_UART_Init-USART3-false-HAL-true,11-MX_RNG_Init-RNG-false-HAL-true,12-MX_RTC_Init-RTC-false-HAL-true,13-MX_TIM1_Init-TIM1-false-HAL-true,14-MX_TIM10_Init-TIM10-false-HAL-true,15-MX_USART1_UART_Init-USART1-false-HAL-true,16-MX_USART6_UART_Init-USART6-false-HAL-true,17-MX_USB_DEVICE_Init-USB_DEVICE-false-HAL-false +ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-MX_DMA_Init-DMA-false-HAL-true,3-SystemClock_Config-RCC-false-HAL-false,4-MX_ADC1_Init-ADC1-false-HAL-true,5-MX_CAN1_Init-CAN1-false-HAL-true,6-MX_CAN2_Init-CAN2-false-HAL-true,7-MX_SPI1_Init-SPI1-false-HAL-true,8-MX_TIM4_Init-TIM4-false-HAL-true,9-MX_TIM5_Init-TIM5-false-HAL-true,10-MX_USART3_UART_Init-USART3-false-HAL-true,11-MX_RNG_Init-RNG-false-HAL-true,12-MX_RTC_Init-RTC-false-HAL-true,13-MX_TIM1_Init-TIM1-false-HAL-true,14-MX_TIM10_Init-TIM10-false-HAL-true,15-MX_USART1_UART_Init-USART1-false-HAL-true,16-MX_USART6_UART_Init-USART6-false-HAL-true,17-MX_USB_DEVICE_Init-USB_DEVICE-false-HAL-false,18-MX_TIM8_Init-TIM8-false-HAL-true RCC.48MHZClocksFreq_Value=48000000 RCC.AHBFreq_Value=168000000 RCC.APB1CLKDivider=RCC_HCLK_DIV4 @@ -362,6 +379,12 @@ SH.S_TIM10_CH1.0=TIM10_CH1,PWM Generation1 CH1 SH.S_TIM10_CH1.ConfNb=1 SH.S_TIM1_CH1.0=TIM1_CH1,PWM Generation1 CH1 SH.S_TIM1_CH1.ConfNb=1 +SH.S_TIM1_CH2.0=TIM1_CH2,PWM Generation2 CH2 +SH.S_TIM1_CH2.ConfNb=1 +SH.S_TIM1_CH3.0=TIM1_CH3,PWM Generation3 CH3 +SH.S_TIM1_CH3.ConfNb=1 +SH.S_TIM1_CH4.0=TIM1_CH4,PWM Generation4 CH4 +SH.S_TIM1_CH4.ConfNb=1 SH.S_TIM4_CH3.0=TIM4_CH3,PWM Generation3 CH3 SH.S_TIM4_CH3.ConfNb=1 SH.S_TIM5_CH1.0=TIM5_CH1,PWM Generation1 CH1 @@ -370,6 +393,12 @@ SH.S_TIM5_CH2.0=TIM5_CH2,PWM Generation2 CH2 SH.S_TIM5_CH2.ConfNb=1 SH.S_TIM5_CH3.0=TIM5_CH3,PWM Generation3 CH3 SH.S_TIM5_CH3.ConfNb=1 +SH.S_TIM8_CH1.0=TIM8_CH1,Output Compare1 CH1 +SH.S_TIM8_CH1.ConfNb=1 +SH.S_TIM8_CH2.0=TIM8_CH2,Output Compare2 CH2 +SH.S_TIM8_CH2.ConfNb=1 +SH.S_TIM8_CH3.0=TIM8_CH3,Output Compare3 CH3 +SH.S_TIM8_CH3.ConfNb=1 SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_256 SPI1.CLKPhase=SPI_PHASE_2EDGE SPI1.CLKPolarity=SPI_POLARITY_HIGH @@ -383,12 +412,16 @@ STMicroelectronics.X-CUBE-ALGOBUILD.1.3.0.IPParameters=LibraryCcDSPOoLibraryJjDS STMicroelectronics.X-CUBE-ALGOBUILD.1.3.0.LibraryCcDSPOoLibraryJjDSPOoLibrary=true STMicroelectronics.X-CUBE-ALGOBUILD.1.3.0_SwParameter=LibraryCcDSPOoLibraryJjDSPOoLibrary\:true; TIM1.Channel-PWM\ Generation1\ CH1=TIM_CHANNEL_1 -TIM1.IPParameters=Period,Prescaler,Channel-PWM Generation1 CH1 +TIM1.Channel-PWM\ Generation2\ CH2=TIM_CHANNEL_2 +TIM1.Channel-PWM\ Generation3\ CH3=TIM_CHANNEL_3 +TIM1.Channel-PWM\ Generation4\ CH4=TIM_CHANNEL_4 +TIM1.IPParameters=Period,Prescaler,Channel-PWM Generation1 CH1,Channel-PWM Generation2 CH2,Channel-PWM Generation3 CH3,Channel-PWM Generation4 CH4 TIM1.Period=19999 TIM1.Prescaler=167 TIM10.Channel=TIM_CHANNEL_1 -TIM10.IPParameters=Period,Channel +TIM10.IPParameters=Period,Channel,Prescaler TIM10.Period=4999 +TIM10.Prescaler=0 TIM4.Channel-PWM\ Generation3\ CH3=TIM_CHANNEL_3 TIM4.IPParameters=Channel-PWM Generation3 CH3,Prescaler,Period TIM4.Period=65535 @@ -399,6 +432,12 @@ TIM5.Channel-PWM\ Generation3\ CH3=TIM_CHANNEL_3 TIM5.IPParameters=Channel-PWM Generation1 CH1,Channel-PWM Generation2 CH2,Channel-PWM Generation3 CH3,Prescaler,Period TIM5.Period=65535 TIM5.Prescaler=0 +TIM8.Channel-Output\ Compare1\ CH1=TIM_CHANNEL_1 +TIM8.Channel-Output\ Compare2\ CH2=TIM_CHANNEL_2 +TIM8.Channel-Output\ Compare3\ CH3=TIM_CHANNEL_3 +TIM8.IPParameters=Channel-Output Compare1 CH1,Channel-Output Compare2 CH2,Channel-Output Compare3 CH3,Prescaler,Period +TIM8.Period=19999 +TIM8.Prescaler=167 USART1.IPParameters=VirtualMode USART1.VirtualMode=VM_ASYNC USART3.BaudRate=100000 @@ -430,10 +469,14 @@ VP_SYS_VS_Systick.Mode=SysTick VP_SYS_VS_Systick.Signal=SYS_VS_Systick VP_TIM10_VS_ClockSourceINT.Mode=Enable_Timer VP_TIM10_VS_ClockSourceINT.Signal=TIM10_VS_ClockSourceINT +VP_TIM1_VS_ClockSourceINT.Mode=Internal +VP_TIM1_VS_ClockSourceINT.Signal=TIM1_VS_ClockSourceINT VP_TIM4_VS_ClockSourceINT.Mode=Internal VP_TIM4_VS_ClockSourceINT.Signal=TIM4_VS_ClockSourceINT VP_TIM5_VS_ClockSourceINT.Mode=Internal VP_TIM5_VS_ClockSourceINT.Signal=TIM5_VS_ClockSourceINT +VP_TIM8_VS_ClockSourceINT.Mode=Internal +VP_TIM8_VS_ClockSourceINT.Signal=TIM8_VS_ClockSourceINT VP_USB_DEVICE_VS_USB_DEVICE_CDC_FS.Mode=CDC_FS VP_USB_DEVICE_VS_USB_DEVICE_CDC_FS.Signal=USB_DEVICE_VS_USB_DEVICE_CDC_FS board=custom