Firmware: Fix high current consumption due to high clock and UART_CTS shorted to SMBA

This commit is contained in:
2025-11-30 20:14:45 -03:00
parent 8b432c1255
commit a197eb6633
10 changed files with 127 additions and 211 deletions

View File

@@ -24,7 +24,7 @@
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.1510439216" name="Floating-point ABI" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi" useByScannerDiscovery="true" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.value.hard" valueType="enumerated"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.1247780085" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="genericBoard" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.499271190" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.6 || Debug || true || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.option.toolchain.value.workspace || STM32G474RBTx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Core/Inc | ../Drivers/STM32G4xx_HAL_Driver/Inc | ../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include | ../Drivers/CMSIS/Include | ../Middlewares/Third_Party/FreeRTOS/Source/include | ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 | ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F | ../Core/ThreadSafe || ../Core/Inc | ../Drivers/STM32G4xx_HAL_Driver/Inc | ../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy | ../Middlewares/Third_Party/FreeRTOS/Source/include | ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 | ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include | ../Drivers/CMSIS/Include || || USE_HAL_DRIVER | STM32G474xx | STM32_THREAD_SAFE_STRATEGY=4 || || Core/ThreadSafe | Drivers | Core/Startup | Middlewares | Core || || || ${workspace_loc:/${ProjName}/STM32G474RBTX_FLASH.ld} || true || NonSecure || || secure_nsclib.o || || FreeRTOS_AllowLockFromIRQ || || || " valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.debug.option.cpuclock.1811138434" name="Cpu clock frequence" superClass="com.st.stm32cube.ide.mcu.debug.option.cpuclock" useByScannerDiscovery="false" value="170" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.debug.option.cpuclock.1811138434" name="Cpu clock frequence" superClass="com.st.stm32cube.ide.mcu.debug.option.cpuclock" useByScannerDiscovery="false" value="48" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.converthex.1736150988" name="Convert to Intel Hex file (-O ihex)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.converthex" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.45455421" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
<builder buildPath="${workspace_loc:/BrushedPIDDriver}/Debug" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.2074713205" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
@@ -148,7 +148,7 @@
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.1351515862" name="Floating-point ABI" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi" useByScannerDiscovery="true" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.value.hard" valueType="enumerated"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.2090383614" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="genericBoard" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.2007186586" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.6 || Release || false || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.option.toolchain.value.workspace || STM32G474RBTx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Core/Inc | ../Drivers/STM32G4xx_HAL_Driver/Inc | ../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include | ../Drivers/CMSIS/Include | ../Middlewares/Third_Party/FreeRTOS/Source/include | ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 | ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F | ../Core/ThreadSafe || ../Core/Inc | ../Drivers/STM32G4xx_HAL_Driver/Inc | ../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy | ../Middlewares/Third_Party/FreeRTOS/Source/include | ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 | ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F | ../Drivers/CMSIS/Device/ST/STM32G4xx/Include | ../Drivers/CMSIS/Include || || USE_HAL_DRIVER | STM32G474xx | STM32_THREAD_SAFE_STRATEGY=4 || || Core/ThreadSafe | Drivers | Core/Startup | Middlewares | Core || || || ${workspace_loc:/${ProjName}/STM32G474RBTX_FLASH.ld} || true || NonSecure || || secure_nsclib.o || || FreeRTOS_AllowLockFromIRQ || || || " valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.debug.option.cpuclock.144242349" name="Cpu clock frequence" superClass="com.st.stm32cube.ide.mcu.debug.option.cpuclock" useByScannerDiscovery="false" value="170" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.debug.option.cpuclock.144242349" name="Cpu clock frequence" superClass="com.st.stm32cube.ide.mcu.debug.option.cpuclock" useByScannerDiscovery="false" value="48" valueType="string"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.1593418502" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
<builder buildPath="${workspace_loc:/BrushedPIDDriver}/Release" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.1692097252" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.1304467563" name="MCU/MPU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">

View File

@@ -35,9 +35,9 @@ COMP6.IPParameters=TriggerMode,BlankingSrce
COMP6.TriggerMode=COMP_TRIGGERMODE_IT_RISING_FALLING
DAC4.DAC_Channel-DAC_OUT2_Int=DAC_CHANNEL_2
DAC4.IPParameters=DAC_Channel-DAC_OUT2_Int
FDCAN1.CalculateBaudRateNominal=3541666
FDCAN1.CalculateTimeBitNominal=282
FDCAN1.CalculateTimeQuantumNominal=94.11764705882354
FDCAN1.CalculateBaudRateNominal=1000000
FDCAN1.CalculateTimeBitNominal=1000
FDCAN1.CalculateTimeQuantumNominal=333.3333333333333
FDCAN1.IPParameters=CalculateTimeQuantumNominal,CalculateTimeBitNominal,CalculateBaudRateNominal
FREERTOS.INCLUDE_pcTaskGetTaskName=1
FREERTOS.INCLUDE_uxTaskGetStackHighWaterMark=1
@@ -58,8 +58,8 @@ FREERTOS.configUSE_APPLICATION_TASK_TAG=1
FREERTOS.configUSE_NEWLIB_REENTRANT=1
File.Version=6
I2C1.IPParameters=Timing,Timeout
I2C1.Timeout=0x0000881B
I2C1.Timing=0x40B285C2
I2C1.Timeout=0x00008249
I2C1.Timing=0x10805D88
KeepUserPlacement=false
LPUART1.FIFOMode=UART_FIFOMODE_DISABLE
LPUART1.IPParameters=FIFOMode
@@ -75,10 +75,9 @@ Mcu.IP14=SPI1
Mcu.IP15=SYS
Mcu.IP16=TIM1
Mcu.IP17=TIM2
Mcu.IP18=TIM3
Mcu.IP19=UART4
Mcu.IP18=UART4
Mcu.IP19=USB
Mcu.IP2=ADC5
Mcu.IP20=USB
Mcu.IP3=COMP5
Mcu.IP4=COMP6
Mcu.IP5=DAC4
@@ -86,55 +85,51 @@ Mcu.IP6=FDCAN1
Mcu.IP7=FREERTOS
Mcu.IP8=I2C1
Mcu.IP9=LPUART1
Mcu.IPNb=21
Mcu.IPNb=20
Mcu.Name=STM32G474R(B-C-E)Tx
Mcu.Package=LQFP64
Mcu.Pin0=PC13
Mcu.Pin1=PC0
Mcu.Pin10=PA7
Mcu.Pin11=PB0
Mcu.Pin12=PB1
Mcu.Pin13=PB2
Mcu.Pin14=PB10
Mcu.Pin15=PB11
Mcu.Pin16=PB13
Mcu.Pin17=PC6
Mcu.Pin18=PC7
Mcu.Pin19=PA11
Mcu.Pin10=PB0
Mcu.Pin11=PB2
Mcu.Pin12=PB10
Mcu.Pin13=PB11
Mcu.Pin14=PB13
Mcu.Pin15=PA11
Mcu.Pin16=PA12
Mcu.Pin17=PA13
Mcu.Pin18=PA14
Mcu.Pin19=PA15
Mcu.Pin2=PC1
Mcu.Pin20=PA12
Mcu.Pin21=PA13
Mcu.Pin22=PA14
Mcu.Pin23=PA15
Mcu.Pin24=PC10
Mcu.Pin25=PC11
Mcu.Pin26=PB3
Mcu.Pin27=PB4
Mcu.Pin28=PB5
Mcu.Pin29=PB7
Mcu.Pin20=PC10
Mcu.Pin21=PC11
Mcu.Pin22=PB3
Mcu.Pin23=PB4
Mcu.Pin24=PB5
Mcu.Pin25=PB7
Mcu.Pin26=PB8-BOOT0
Mcu.Pin27=PB9
Mcu.Pin28=VP_ADC1_TempSens_Input
Mcu.Pin29=VP_ADC1_Vref_Input
Mcu.Pin3=PA0
Mcu.Pin30=PB8-BOOT0
Mcu.Pin31=PB9
Mcu.Pin32=VP_ADC1_TempSens_Input
Mcu.Pin33=VP_ADC1_Vref_Input
Mcu.Pin34=VP_ADC1_Vbat_Input
Mcu.Pin35=VP_ADC3_OPAMP_INTERNAL3
Mcu.Pin36=VP_ADC5_OPAMP_INTERNAL4
Mcu.Pin37=VP_COMP5_VS_DAC4OUT1
Mcu.Pin38=VP_COMP6_VS_DAC4OUT2
Mcu.Pin39=VP_DAC4_VS_DACI1
Mcu.Pin30=VP_ADC1_Vbat_Input
Mcu.Pin31=VP_ADC3_OPAMP_INTERNAL3
Mcu.Pin32=VP_ADC5_OPAMP_INTERNAL4
Mcu.Pin33=VP_COMP5_VS_DAC4OUT1
Mcu.Pin34=VP_COMP6_VS_DAC4OUT2
Mcu.Pin35=VP_DAC4_VS_DACI1
Mcu.Pin36=VP_DAC4_VS_DACI2
Mcu.Pin37=VP_FREERTOS_VS_CMSIS_V2
Mcu.Pin38=VP_SYS_VS_Systick
Mcu.Pin39=VP_SYS_VS_DBSignals
Mcu.Pin4=PA1
Mcu.Pin40=VP_DAC4_VS_DACI2
Mcu.Pin41=VP_FREERTOS_VS_CMSIS_V2
Mcu.Pin42=VP_SYS_VS_Systick
Mcu.Pin43=VP_SYS_VS_DBSignals
Mcu.Pin44=VP_TIM1_VS_no_output5
Mcu.Pin40=VP_TIM1_VS_no_output5
Mcu.Pin5=PA2
Mcu.Pin6=PA3
Mcu.Pin7=PA4
Mcu.Pin8=PA5
Mcu.Pin9=PA6
Mcu.PinsNb=45
Mcu.Pin9=PA7
Mcu.PinsNb=41
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32G474RBTx
@@ -156,64 +151,86 @@ NVIC.SavedSystickIrqHandlerGenerated=true
NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:true\:false\:true\:false
NVIC.TIM1_BRK_TIM15_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
PA0.Locked=true
PA0.Signal=S_TIM2_CH1
PA1.Locked=true
PA1.Signal=S_TIM2_CH2
PA11.Locked=true
PA11.Mode=Device
PA11.Signal=USB_DM
PA12.Locked=true
PA12.Mode=Device
PA12.Signal=USB_DP
PA13.Locked=true
PA13.Mode=Trace_Asynchronous_SW
PA13.Signal=SYS_JTMS-SWDIO
PA14.Locked=true
PA14.Mode=Trace_Asynchronous_SW
PA14.Signal=SYS_JTCK-SWCLK
PA15.Locked=true
PA15.Mode=SMBus-Alert-mode
PA15.Signal=I2C1_SCL
PA2.Locked=true
PA2.Mode=Asynchronous
PA2.Signal=LPUART1_TX
PA3.Locked=true
PA3.Mode=Asynchronous
PA3.Signal=LPUART1_RX
PA4.GPIOParameters=GPIO_PuPd
PA4.GPIO_PuPd=GPIO_PULLUP
PA4.Locked=true
PA4.Mode=NSS_Signal_Hard_Input
PA4.Signal=SPI1_NSS
PA5.Locked=true
PA5.Mode=Full_Duplex_Slave
PA5.Signal=SPI1_SCK
PA6.Mode=CTS_RTS
PA6.Signal=LPUART1_CTS
PA7.Locked=true
PA7.Mode=Full_Duplex_Slave
PA7.Signal=SPI1_MOSI
PB0.Locked=true
PB0.Mode=PWM Generation2 CH2 CH2N
PB0.Signal=TIM1_CH2N
PB1.Mode=CTS_RTS
PB1.Signal=LPUART1_RTS
PB10.Locked=true
PB10.Mode=PGA Internally connected_IO0_BIAS
PB10.Signal=OPAMP4_VINM0
PB11.Locked=true
PB11.Signal=SharedAnalog_PB11
PB13.Locked=true
PB13.Signal=SharedAnalog_PB13
PB2.Locked=true
PB2.Mode=PGA Internally connected_IO0_BIAS
PB2.Signal=OPAMP3_VINM0
PB3.Locked=true
PB3.Mode=Trace_Asynchronous_SW
PB3.Signal=SYS_JTDO-SWO
PB4.Locked=true
PB4.Mode=Full_Duplex_Slave
PB4.Signal=SPI1_MISO
PB5.Locked=true
PB5.Mode=SMBus-Alert-mode
PB5.Signal=I2C1_SMBA
PB7.Locked=true
PB7.Mode=SMBus-Alert-mode
PB7.Signal=I2C1_SDA
PB8-BOOT0.Locked=true
PB8-BOOT0.Mode=FDCAN_Activate
PB8-BOOT0.Signal=FDCAN1_RX
PB9.Locked=true
PB9.Mode=FDCAN_Activate
PB9.Signal=FDCAN1_TX
PC0.Locked=true
PC0.Signal=S_TIM1_CH1
PC1.Locked=true
PC1.Signal=S_TIM1_CH2
PC10.Locked=true
PC10.Mode=Asynchronous
PC10.Signal=UART4_TX
PC11.Locked=true
PC11.Mode=Asynchronous
PC11.Signal=UART4_RX
PC13.Locked=true
PC13.Mode=PWM Generation1 CH1 CH1N
PC13.Signal=TIM1_CH1N
PC6.Signal=S_TIM3_CH1
PC7.Signal=S_TIM3_CH2
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
@@ -249,58 +266,58 @@ ProjectManager.ToolChainLocation=
ProjectManager.UAScriptAfterPath=
ProjectManager.UAScriptBeforePath=
ProjectManager.UnderRoot=true
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_FDCAN1_Init-FDCAN1-false-HAL-true,4-MX_I2C1_SMBUS_Init-I2C1-false-HAL-true,5-MX_LPUART1_UART_Init-LPUART1-false-HAL-true,6-MX_UART4_Init-UART4-false-HAL-true,7-MX_SPI1_Init-SPI1-false-HAL-true,8-MX_TIM1_Init-TIM1-false-HAL-true,9-MX_TIM2_Init-TIM2-false-HAL-true,10-MX_TIM3_Init-TIM3-false-HAL-true,11-MX_USB_PCD_Init-USB-false-HAL-true,12-MX_COMP5_Init-COMP5-false-HAL-true,13-MX_COMP6_Init-COMP6-false-HAL-true,14-MX_DAC4_Init-DAC4-false-HAL-true,15-MX_OPAMP3_Init-OPAMP3-false-HAL-true,16-MX_OPAMP4_Init-OPAMP4-false-HAL-true,17-MX_ADC1_Init-ADC1-false-HAL-true,18-MX_ADC3_Init-ADC3-false-HAL-true,19-MX_ADC5_Init-ADC5-false-HAL-true
RCC.ADC12Freq_Value=170000000
RCC.ADC345Freq_Value=170000000
RCC.AHBFreq_Value=170000000
RCC.APB1Freq_Value=170000000
RCC.APB1TimFreq_Value=170000000
RCC.APB2Freq_Value=170000000
RCC.APB2TimFreq_Value=170000000
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_FDCAN1_Init-FDCAN1-false-HAL-true,4-MX_I2C1_SMBUS_Init-I2C1-false-HAL-true,5-MX_LPUART1_UART_Init-LPUART1-false-HAL-true,6-MX_UART4_Init-UART4-false-HAL-true,7-MX_SPI1_Init-SPI1-false-HAL-true,8-MX_TIM1_Init-TIM1-false-HAL-true,9-MX_TIM2_Init-TIM2-false-HAL-true,10-MX_USB_PCD_Init-USB-false-HAL-true,11-MX_COMP5_Init-COMP5-false-HAL-true,12-MX_COMP6_Init-COMP6-false-HAL-true,13-MX_DAC4_Init-DAC4-false-HAL-true,14-MX_OPAMP3_Init-OPAMP3-false-HAL-true,15-MX_OPAMP4_Init-OPAMP4-false-HAL-true,16-MX_ADC1_Init-ADC1-false-HAL-true,17-MX_ADC3_Init-ADC3-false-HAL-true,18-MX_ADC5_Init-ADC5-false-HAL-true
RCC.ADC12Freq_Value=48000000
RCC.ADC345Freq_Value=48000000
RCC.AHBFreq_Value=48000000
RCC.APB1Freq_Value=48000000
RCC.APB1TimFreq_Value=48000000
RCC.APB2Freq_Value=48000000
RCC.APB2TimFreq_Value=48000000
RCC.CK48CLockSelection=RCC_USBCLKSOURCE_HSI48
RCC.CRSFreq_Value=48000000
RCC.CortexFreq_Value=170000000
RCC.CortexFreq_Value=48000000
RCC.EXTERNAL_CLOCK_VALUE=12288000
RCC.FCLKCortexFreq_Value=170000000
RCC.FDCANFreq_Value=170000000
RCC.FCLKCortexFreq_Value=48000000
RCC.FDCANFreq_Value=48000000
RCC.FamilyName=M
RCC.HCLKFreq_Value=170000000
RCC.HRTIM1Freq_Value=170000000
RCC.HCLKFreq_Value=48000000
RCC.HRTIM1Freq_Value=48000000
RCC.HSE_VALUE=8000000
RCC.HSI48_VALUE=48000000
RCC.HSI_VALUE=16000000
RCC.I2C1Freq_Value=170000000
RCC.I2C2Freq_Value=170000000
RCC.I2C3Freq_Value=170000000
RCC.I2C4Freq_Value=170000000
RCC.I2SFreq_Value=170000000
RCC.I2C1Freq_Value=48000000
RCC.I2C2Freq_Value=48000000
RCC.I2C3Freq_Value=48000000
RCC.I2C4Freq_Value=48000000
RCC.I2SFreq_Value=48000000
RCC.IPParameters=ADC12Freq_Value,ADC345Freq_Value,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,CK48CLockSelection,CRSFreq_Value,CortexFreq_Value,EXTERNAL_CLOCK_VALUE,FCLKCortexFreq_Value,FDCANFreq_Value,FamilyName,HCLKFreq_Value,HRTIM1Freq_Value,HSE_VALUE,HSI48_VALUE,HSI_VALUE,I2C1Freq_Value,I2C2Freq_Value,I2C3Freq_Value,I2C4Freq_Value,I2SFreq_Value,LPTIM1Freq_Value,LPUART1CLockSelection,LPUART1Freq_Value,LSCOPinFreq_Value,LSE_VALUE,LSI_VALUE,MCO1PinFreq_Value,PLLM,PLLN,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLRCLKFreq_Value,PWRFreq_Value,QSPIFreq_Value,RNGFreq_Value,SAI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,UART4Freq_Value,UART5Freq_Value,USART1Freq_Value,USART2Freq_Value,USART3Freq_Value,USBFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value
RCC.LPTIM1Freq_Value=170000000
RCC.LPTIM1Freq_Value=48000000
RCC.LPUART1CLockSelection=RCC_LPUART1CLKSOURCE_SYSCLK
RCC.LPUART1Freq_Value=170000000
RCC.LPUART1Freq_Value=48000000
RCC.LSCOPinFreq_Value=32000
RCC.LSE_VALUE=32768
RCC.LSI_VALUE=32000
RCC.MCO1PinFreq_Value=16000000
RCC.PLLM=RCC_PLLM_DIV4
RCC.PLLN=85
RCC.PLLPoutputFreq_Value=170000000
RCC.PLLQoutputFreq_Value=170000000
RCC.PLLRCLKFreq_Value=170000000
RCC.PWRFreq_Value=170000000
RCC.QSPIFreq_Value=170000000
RCC.PLLN=24
RCC.PLLPoutputFreq_Value=48000000
RCC.PLLQoutputFreq_Value=48000000
RCC.PLLRCLKFreq_Value=48000000
RCC.PWRFreq_Value=48000000
RCC.QSPIFreq_Value=48000000
RCC.RNGFreq_Value=48000000
RCC.SAI1Freq_Value=170000000
RCC.SYSCLKFreq_VALUE=170000000
RCC.SAI1Freq_Value=48000000
RCC.SYSCLKFreq_VALUE=48000000
RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
RCC.UART4Freq_Value=170000000
RCC.UART5Freq_Value=170000000
RCC.USART1Freq_Value=170000000
RCC.USART2Freq_Value=170000000
RCC.USART3Freq_Value=170000000
RCC.UART4Freq_Value=48000000
RCC.UART5Freq_Value=48000000
RCC.USART1Freq_Value=48000000
RCC.USART2Freq_Value=48000000
RCC.USART3Freq_Value=48000000
RCC.USBFreq_Value=48000000
RCC.VCOInputFreq_Value=4000000
RCC.VCOOutputFreq_Value=340000000
RCC.VCOOutputFreq_Value=96000000
SH.S_TIM1_CH1.0=TIM1_CH1,PWM Generation1 CH1 CH1N
SH.S_TIM1_CH1.ConfNb=1
SH.S_TIM1_CH2.0=TIM1_CH2,PWM Generation2 CH2 CH2N
@@ -309,10 +326,6 @@ SH.S_TIM2_CH1.0=TIM2_CH1,Encoder_Interface
SH.S_TIM2_CH1.ConfNb=1
SH.S_TIM2_CH2.0=TIM2_CH2,Encoder_Interface
SH.S_TIM2_CH2.ConfNb=1
SH.S_TIM3_CH1.0=TIM3_CH1,Encoder_Interface
SH.S_TIM3_CH1.ConfNb=1
SH.S_TIM3_CH2.0=TIM3_CH2,Encoder_Interface
SH.S_TIM3_CH2.ConfNb=1
SH.SharedAnalog_PB11.0=COMP6_INP,INP
SH.SharedAnalog_PB11.1=OPAMP4_VINP,PGA Internally connected_IO0_BIAS
SH.SharedAnalog_PB11.ConfNb=2
@@ -327,7 +340,8 @@ SPI1.VirtualType=VM_SLAVE
TIM1.Channel-PWM\ Generation1\ CH1\ CH1N=TIM_CHANNEL_1
TIM1.Channel-PWM\ Generation2\ CH2\ CH2N=TIM_CHANNEL_2
TIM1.Channel-PWM\ Generation5\ No\ Output=TIM_CHANNEL_5
TIM1.IPParameters=Channel-PWM Generation1 CH1 CH1N,Channel-PWM Generation2 CH2 CH2N,Channel-PWM Generation5 No Output,SourceBRKCOMP5,SourceBRKCOMP6
TIM1.IPParameters=Channel-PWM Generation1 CH1 CH1N,Channel-PWM Generation2 CH2 CH2N,Channel-PWM Generation5 No Output,SourceBRKCOMP5,SourceBRKCOMP6,Prescaler
TIM1.Prescaler=0
TIM1.SourceBRKCOMP5=TIM_BREAKINPUTSOURCE_ENABLE
TIM1.SourceBRKCOMP6=TIM_BREAKINPUTSOURCE_ENABLE
VP_ADC1_TempSens_Input.Mode=IN-TempSens

View File

@@ -36,15 +36,12 @@ extern TIM_HandleTypeDef htim1;
extern TIM_HandleTypeDef htim2;
extern TIM_HandleTypeDef htim3;
/* USER CODE BEGIN Private defines */
/* USER CODE END Private defines */
void MX_TIM1_Init(void);
void MX_TIM2_Init(void);
void MX_TIM3_Init(void);
void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);

View File

@@ -46,7 +46,7 @@ void MX_ADC1_Init(void)
/** Common config
*/
hadc1.Instance = ADC1;
hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4;
hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV2;
hadc1.Init.Resolution = ADC_RESOLUTION_12B;
hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
hadc1.Init.GainCompensation = 0;
@@ -109,7 +109,7 @@ void MX_ADC3_Init(void)
/** Common config
*/
hadc3.Instance = ADC3;
hadc3.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4;
hadc3.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV2;
hadc3.Init.Resolution = ADC_RESOLUTION_12B;
hadc3.Init.DataAlign = ADC_DATAALIGN_RIGHT;
hadc3.Init.GainCompensation = 0;
@@ -171,7 +171,7 @@ void MX_ADC5_Init(void)
/** Common config
*/
hadc5.Instance = ADC5;
hadc5.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4;
hadc5.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV2;
hadc5.Init.Resolution = ADC_RESOLUTION_12B;
hadc5.Init.DataAlign = ADC_DATAALIGN_RIGHT;
hadc5.Init.GainCompensation = 0;

View File

@@ -117,7 +117,7 @@ void StartDefaultTask(void *argument)
/* Infinite loop */
for(;;)
{
osDelay(1);
osDelay(100);
}
/* USER CODE END StartDefaultTask */
}

View File

@@ -39,7 +39,7 @@ void MX_I2C1_SMBUS_Init(void)
/* USER CODE END I2C1_Init 1 */
hsmbus1.Instance = I2C1;
hsmbus1.Init.Timing = 0x40B285C2;
hsmbus1.Init.Timing = 0x10805D88;
hsmbus1.Init.AnalogFilter = SMBUS_ANALOGFILTER_ENABLE;
hsmbus1.Init.OwnAddress1 = 2;
hsmbus1.Init.AddressingMode = SMBUS_ADDRESSINGMODE_7BIT;
@@ -50,7 +50,7 @@ void MX_I2C1_SMBUS_Init(void)
hsmbus1.Init.NoStretchMode = SMBUS_NOSTRETCH_DISABLE;
hsmbus1.Init.PacketErrorCheckMode = SMBUS_PEC_DISABLE;
hsmbus1.Init.PeripheralMode = SMBUS_PERIPHERAL_MODE_SMBUS_SLAVE;
hsmbus1.Init.SMBusTimeout = 0x0000881B;
hsmbus1.Init.SMBusTimeout = 0x00008249;
if (HAL_SMBUS_Init(&hsmbus1) != HAL_OK)
{
Error_Handler();

View File

@@ -105,7 +105,6 @@ int main(void)
MX_SPI1_Init();
MX_TIM1_Init();
MX_TIM2_Init();
MX_TIM3_Init();
MX_USB_PCD_Init();
MX_COMP5_Init();
MX_COMP6_Init();
@@ -150,7 +149,7 @@ void SystemClock_Config(void)
/** Configure the main internal regulator output voltage
*/
HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE1_BOOST);
HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE1);
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -162,7 +161,7 @@ void SystemClock_Config(void)
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
RCC_OscInitStruct.PLL.PLLM = RCC_PLLM_DIV4;
RCC_OscInitStruct.PLL.PLLN = 85;
RCC_OscInitStruct.PLL.PLLN = 24;
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
RCC_OscInitStruct.PLL.PLLQ = RCC_PLLQ_DIV2;
RCC_OscInitStruct.PLL.PLLR = RCC_PLLR_DIV2;
@@ -180,7 +179,7 @@ void SystemClock_Config(void)
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_4) != HAL_OK)
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK)
{
Error_Handler();
}

View File

@@ -80,7 +80,14 @@ void HAL_SPI_MspInit(SPI_HandleTypeDef* spiHandle)
PA7 ------> SPI1_MOSI
PB4 ------> SPI1_MISO
*/
GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_7;
GPIO_InitStruct.Pin = GPIO_PIN_4;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_PULLUP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_7;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;

View File

@@ -26,7 +26,6 @@
TIM_HandleTypeDef htim1;
TIM_HandleTypeDef htim2;
TIM_HandleTypeDef htim3;
/* TIM1 init function */
void MX_TIM1_Init(void)
@@ -161,50 +160,6 @@ void MX_TIM2_Init(void)
/* USER CODE END TIM2_Init 2 */
}
/* TIM3 init function */
void MX_TIM3_Init(void)
{
/* USER CODE BEGIN TIM3_Init 0 */
/* USER CODE END TIM3_Init 0 */
TIM_Encoder_InitTypeDef sConfig = {0};
TIM_MasterConfigTypeDef sMasterConfig = {0};
/* USER CODE BEGIN TIM3_Init 1 */
/* USER CODE END TIM3_Init 1 */
htim3.Instance = TIM3;
htim3.Init.Prescaler = 0;
htim3.Init.CounterMode = TIM_COUNTERMODE_UP;
htim3.Init.Period = 65535;
htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
sConfig.EncoderMode = TIM_ENCODERMODE_TI1;
sConfig.IC1Polarity = TIM_ICPOLARITY_RISING;
sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI;
sConfig.IC1Prescaler = TIM_ICPSC_DIV1;
sConfig.IC1Filter = 0;
sConfig.IC2Polarity = TIM_ICPOLARITY_RISING;
sConfig.IC2Selection = TIM_ICSELECTION_DIRECTTI;
sConfig.IC2Prescaler = TIM_ICPSC_DIV1;
sConfig.IC2Filter = 0;
if (HAL_TIM_Encoder_Init(&htim3, &sConfig) != HAL_OK)
{
Error_Handler();
}
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
if (HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN TIM3_Init 2 */
/* USER CODE END TIM3_Init 2 */
}
void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* tim_pwmHandle)
@@ -255,30 +210,6 @@ void HAL_TIM_Encoder_MspInit(TIM_HandleTypeDef* tim_encoderHandle)
/* USER CODE END TIM2_MspInit 1 */
}
else if(tim_encoderHandle->Instance==TIM3)
{
/* USER CODE BEGIN TIM3_MspInit 0 */
/* USER CODE END TIM3_MspInit 0 */
/* TIM3 clock enable */
__HAL_RCC_TIM3_CLK_ENABLE();
__HAL_RCC_GPIOC_CLK_ENABLE();
/**TIM3 GPIO Configuration
PC6 ------> TIM3_CH1
PC7 ------> TIM3_CH2
*/
GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
GPIO_InitStruct.Alternate = GPIO_AF2_TIM3;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
/* USER CODE BEGIN TIM3_MspInit 1 */
/* USER CODE END TIM3_MspInit 1 */
}
}
void HAL_TIM_MspPostInit(TIM_HandleTypeDef* timHandle)
{
@@ -366,24 +297,6 @@ void HAL_TIM_Encoder_MspDeInit(TIM_HandleTypeDef* tim_encoderHandle)
/* USER CODE END TIM2_MspDeInit 1 */
}
else if(tim_encoderHandle->Instance==TIM3)
{
/* USER CODE BEGIN TIM3_MspDeInit 0 */
/* USER CODE END TIM3_MspDeInit 0 */
/* Peripheral clock disable */
__HAL_RCC_TIM3_CLK_DISABLE();
/**TIM3 GPIO Configuration
PC6 ------> TIM3_CH1
PC7 ------> TIM3_CH2
*/
HAL_GPIO_DeInit(GPIOC, GPIO_PIN_6|GPIO_PIN_7);
/* USER CODE BEGIN TIM3_MspDeInit 1 */
/* USER CODE END TIM3_MspDeInit 1 */
}
}
/* USER CODE BEGIN 1 */

View File

@@ -45,7 +45,7 @@ void MX_LPUART1_UART_Init(void)
hlpuart1.Init.StopBits = UART_STOPBITS_1;
hlpuart1.Init.Parity = UART_PARITY_NONE;
hlpuart1.Init.Mode = UART_MODE_TX_RX;
hlpuart1.Init.HwFlowCtl = UART_HWCONTROL_RTS_CTS;
hlpuart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
hlpuart1.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
hlpuart1.Init.ClockPrescaler = UART_PRESCALER_DIV1;
hlpuart1.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
@@ -138,27 +138,17 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
__HAL_RCC_LPUART1_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
/**LPUART1 GPIO Configuration
PA2 ------> LPUART1_TX
PA3 ------> LPUART1_RX
PA6 ------> LPUART1_CTS
PB1 ------> LPUART1_RTS
*/
GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_6;
GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
GPIO_InitStruct.Alternate = GPIO_AF12_LPUART1;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_1;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
GPIO_InitStruct.Alternate = GPIO_AF12_LPUART1;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
/* USER CODE BEGIN LPUART1_MspInit 1 */
/* USER CODE END LPUART1_MspInit 1 */
@@ -213,12 +203,8 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
/**LPUART1 GPIO Configuration
PA2 ------> LPUART1_TX
PA3 ------> LPUART1_RX
PA6 ------> LPUART1_CTS
PB1 ------> LPUART1_RTS
*/
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_6);
HAL_GPIO_DeInit(GPIOB, GPIO_PIN_1);
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3);
/* USER CODE BEGIN LPUART1_MspDeInit 1 */