Skip to content

Commit 6e861d4

Browse files
committed
Fix adc initialization
1 parent e444ec9 commit 6e861d4

File tree

7 files changed

+445
-48
lines changed

7 files changed

+445
-48
lines changed

bsp/stm32/stm32l476-st-nucleo/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
| IIC | 支持 | 软件模拟 |
4545
| RTC | 支持 | 支持外部晶振和内部低速时钟 |
4646
| SPI | 支持 | SPI1/2/3 |
47-
| ADC | 支持 | |
47+
| ADC | 支持 | ADC1_IN1/ADC2_IN2/ADC3_IN3 |
4848
| TIME | 支持 | TIME15/16/17 |
4949
| **扩展模块** | **支持情况** | **备注** |
5050

bsp/stm32/stm32l476-st-nucleo/board/CubeMX_Config/.mxproject

Lines changed: 2 additions & 2 deletions
Large diffs are not rendered by default.

bsp/stm32/stm32l476-st-nucleo/board/CubeMX_Config/CubeMX_Config.ioc

Lines changed: 69 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,17 @@ Mcu.UserName=STM32L476RGTx
1515
SPI1.VirtualType=VM_MASTER
1616
SPI2.VirtualType=VM_MASTER
1717
PB10.Mode=Full_Duplex_Master
18+
ADC2.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_2
19+
SH.ADCx_IN2.0=ADC2_IN2,IN2-Single-Ended
1820
PC10.Signal=SPI3_SCK
1921
PC12.Signal=SPI3_MOSI
2022
RCC.PLLSAI1RoutputFreq_Value=64000000
21-
ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_USART2_UART_Init-USART2-false-HAL-true,4-MX_RTC_Init-RTC-false-HAL-true,5-MX_SPI1_Init-SPI1-false-HAL-true,6-MX_SPI2_Init-SPI2-false-HAL-true,7-MX_SPI3_Init-SPI3-false-HAL-true,8-MX_TIM15_Init-TIM15-false-HAL-true,9-MX_TIM16_Init-TIM16-false-HAL-true,10-MX_TIM17_Init-TIM17-false-HAL-true
23+
ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_USART2_UART_Init-USART2-false-HAL-true,4-MX_RTC_Init-RTC-false-HAL-true,5-MX_SPI1_Init-SPI1-false-HAL-true,6-MX_SPI2_Init-SPI2-false-HAL-true,7-MX_SPI3_Init-SPI3-false-HAL-true,8-MX_TIM15_Init-TIM15-false-HAL-true,9-MX_TIM16_Init-TIM16-false-HAL-true,10-MX_TIM17_Init-TIM17-false-HAL-true,11-MX_ADC1_Init-ADC1-false-HAL-true,12-MX_ADC2_Init-ADC2-false-HAL-true,13-MX_ADC3_Init-ADC3-false-HAL-true
2224
VP_RTC_VS_RTC_Activate.Mode=RTC_Enabled
2325
RCC.RTCFreq_Value=32768
2426
RCC.USART2Freq_Value=80000000
2527
PC15-OSC32_OUT\ (PC15).Mode=LSE-External-Oscillator
28+
ADC3.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_3
2629
PinOutPanel.RotationAngle=0
2730
RCC.MCO1PinFreq_Value=80000000
2831
RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
@@ -31,56 +34,66 @@ PC14-OSC32_IN\ (PC14).Mode=LSE-External-Oscillator
3134
PA14\ (JTCK-SWCLK).Signal=SYS_JTCK-SWCLK
3235
RCC.I2C3Freq_Value=80000000
3336
RCC.LPTIM1Freq_Value=80000000
34-
Mcu.IP4=SPI2
37+
Mcu.IP4=RCC
3538
RCC.FCLKCortexFreq_Value=80000000
36-
Mcu.IP5=SPI3
39+
Mcu.IP5=RTC
40+
Mcu.IP2=ADC3
3741
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false
38-
Mcu.IP2=RTC
39-
Mcu.IP3=SPI1
40-
Mcu.IP0=NVIC
41-
Mcu.IP1=RCC
42+
Mcu.IP3=NVIC
43+
Mcu.IP0=ADC1
44+
Mcu.IP1=ADC2
4245
Mcu.UserConstants=
4346
RCC.VCOSAI1OutputFreq_Value=128000000
4447
RCC.SDMMCFreq_Value=64000000
4548
Mcu.ThirdPartyNb=0
4649
SPI1.Direction=SPI_DIRECTION_2LINES
4750
RCC.HCLKFreq_Value=80000000
48-
Mcu.IPNb=11
51+
SH.ADCx_IN3.0=ADC3_IN3,IN3-Single-Ended
52+
Mcu.IPNb=14
4953
ProjectManager.PreviousToolchain=
5054
RCC.APB2TimFreq_Value=80000000
5155
SPI1.CalculateBaudRate=40.0 MBits/s
56+
SH.ADCx_IN3.ConfNb=1
5257
PC3.Signal=SPI2_MOSI
53-
Mcu.Pin6=PA5
58+
Mcu.Pin6=PA2
5459
RCC.SAI2Freq_Value=18285714.285714287
55-
Mcu.Pin7=PA6
56-
Mcu.Pin8=PA7
57-
Mcu.Pin9=PB10
60+
Mcu.Pin7=PA3
61+
Mcu.Pin8=PA5
62+
Mcu.Pin9=PA6
5863
RCC.AHBFreq_Value=80000000
5964
Mcu.Pin0=PC14-OSC32_IN (PC14)
6065
Mcu.Pin1=PC15-OSC32_OUT (PC15)
61-
Mcu.Pin2=PC2
62-
Mcu.Pin3=PC3
66+
Mcu.Pin2=PC0
67+
Mcu.Pin3=PC1
6368
RCC.USART3Freq_Value=80000000
64-
Mcu.Pin4=PA2
65-
Mcu.Pin5=PA3
69+
Mcu.Pin4=PC2
70+
Mcu.Pin5=PC3
71+
ADC1.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_1
6672
ProjectManager.ProjectBuild=false
6773
RCC.HSE_VALUE=8000000
6874
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
6975
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
70-
Mcu.IP10=USART2
76+
Mcu.IP10=TIM15
7177
USART2.VirtualMode-Asynchronous=VM_ASYNC
72-
RCC.RTCClockSelection=RCC_RTCCLKSOURCE_LSE
7378
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true
79+
RCC.RTCClockSelection=RCC_RTCCLKSOURCE_LSE
80+
Mcu.IP12=TIM17
81+
Mcu.IP11=TIM16
7482
ProjectManager.FirmwarePackage=STM32Cube FW_L4 V1.15.1
7583
MxDb.Version=DB.5.0.60
84+
Mcu.IP13=USART2
7685
ProjectManager.BackupPrevious=false
7786
RCC.VCOInputFreq_Value=16000000
87+
SH.ADCx_IN1.ConfNb=1
88+
PB14.Mode=Full_Duplex_Master
7889
File.Version=6
7990
SPI2.CalculateBaudRate=40.0 MBits/s
91+
ADC3.IPParameters=Rank-0\#ChannelRegularConversion,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,OffsetNumber-0\#ChannelRegularConversion,NbrOfConversionFlag
8092
RCC.PLLRCLKFreq_Value=80000000
8193
NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false
8294
VP_TIM15_VS_ClockSourceINT.Signal=TIM15_VS_ClockSourceINT
8395
ProjectManager.HalAssertFull=false
96+
ADC1.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_2CYCLES_5
8497
ProjectManager.ProjectName=CubeMX_Config
8598
Mcu.Package=LQFP64
8699
PA6.Signal=SPI1_MISO
@@ -89,15 +102,20 @@ SPI3.Mode=SPI_MODE_MASTER
89102
ProjectManager.ToolChainLocation=
90103
RCC.LSI_VALUE=32000
91104
VP_SYS_VS_Systick.Signal=SYS_VS_Systick
105+
ADC3.Rank-0\#ChannelRegularConversion=1
92106
RCC.LSCOPinFreq_Value=32000
107+
ADC2.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_2CYCLES_5
93108
RCC.DFSDMFreq_Value=80000000
94109
PC11.Mode=Full_Duplex_Master
110+
ADC3.OffsetNumber-0\#ChannelRegularConversion=ADC_OFFSET_NONE
111+
SH.ADCx_IN1.0=ADC1_IN1,IN1-Single-Ended
95112
RCC.PLLPoutputFreq_Value=22857142.85714286
96113
RCC.APB1TimFreq_Value=80000000
97114
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
98115
RCC.LPUART1Freq_Value=80000000
99116
SPI3.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate
100117
SPI2.Direction=SPI_DIRECTION_2LINES
118+
ADC2.Rank-0\#ChannelRegularConversion=1
101119
PA13\ (JTMS-SWDIO).Signal=SYS_JTMS-SWDIO
102120
ProjectManager.CustomerFirmwarePackage=
103121
PA3.Signal=USART2_RX
@@ -108,30 +126,37 @@ RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSI
108126
PA14\ (JTCK-SWCLK).Mode=Serial_Wire
109127
RCC.PLLQoutputFreq_Value=80000000
110128
ProjectManager.ProjectFileName=CubeMX_Config.ioc
129+
ADC1.Rank-0\#ChannelRegularConversion=1
111130
PA7.Mode=Full_Duplex_Master
112-
Mcu.PinsNb=20
131+
Mcu.PinsNb=23
113132
ProjectManager.NoMain=false
114133
SPI1.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate
134+
ADC1.IPParameters=Rank-0\#ChannelRegularConversion,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,OffsetNumber-0\#ChannelRegularConversion,NbrOfConversionFlag,master
135+
ADC1.OffsetNumber-0\#ChannelRegularConversion=ADC_OFFSET_NONE
115136
PC11.Signal=SPI3_MISO
116137
RCC.SWPMI1Freq_Value=80000000
117-
PC2.Signal=SPI2_MISO
138+
PC2.Signal=ADCx_IN3
118139
PC10.Mode=Full_Duplex_Master
119140
ProjectManager.DefaultFWLocation=true
120-
PC2.Mode=Full_Duplex_Master
121141
PC15-OSC32_OUT\ (PC15).Signal=RCC_OSC32_OUT
122142
VP_TIM16_VS_ClockSourceINT.Mode=Enable_Timer
123143
ProjectManager.DeletePrevious=true
144+
PC0.Signal=ADCx_IN1
124145
RCC.VCOSAI2OutputFreq_Value=128000000
125146
VP_TIM17_VS_ClockSourceINT.Signal=TIM17_VS_ClockSourceINT
126147
RCC.FamilyName=M
127148
PA3.Mode=Asynchronous
149+
ADC3.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_2CYCLES_5
128150
ProjectManager.TargetToolchain=MDK-ARM V5
151+
ADC2.IPParameters=Rank-0\#ChannelRegularConversion,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,OffsetNumber-0\#ChannelRegularConversion,NbrOfConversionFlag
129152
SPI2.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate
130153
RCC.USBFreq_Value=64000000
131154
RCC.PLLSAI1PoutputFreq_Value=18285714.285714287
132155
PB10.Signal=SPI2_SCK
156+
PB14.Signal=SPI2_MISO
133157
RCC.PLLSAI2RoutputFreq_Value=64000000
134158
PA5.Signal=SPI1_SCK
159+
ADC2.OffsetNumber-0\#ChannelRegularConversion=ADC_OFFSET_NONE
135160
PC12.Mode=Full_Duplex_Master
136161
board=custom
137162
RCC.VCOOutputFreq_Value=160000000
@@ -144,6 +169,7 @@ RCC.I2C1Freq_Value=80000000
144169
SPI1.Mode=SPI_MODE_MASTER
145170
RCC.LCDFreq_Value=32768
146171
RCC.RNGFreq_Value=64000000
172+
SH.ADCx_IN2.ConfNb=1
147173
RCC.PLLSAI1QoutputFreq_Value=64000000
148174
RCC.ADCFreq_Value=64000000
149175
VP_SYS_VS_Systick.Mode=SysTick
@@ -157,13 +183,18 @@ Mcu.Name=STM32L476R(C-E-G)Tx
157183
RCC.LPTIM2Freq_Value=80000000
158184
PA2.Signal=USART2_TX
159185
ProjectManager.UnderRoot=false
160-
Mcu.IP8=TIM16
161-
Mcu.IP9=TIM17
162-
Mcu.IP6=SYS
163-
Mcu.IP7=TIM15
186+
Mcu.IP8=SPI3
187+
Mcu.IP9=SYS
188+
Mcu.IP6=SPI1
189+
Mcu.IP7=SPI2
164190
ProjectManager.CoupleFile=false
165191
PA13\ (JTMS-SWDIO).Mode=Serial_Wire
166192
RCC.SYSCLKFreq_VALUE=80000000
193+
Mcu.Pin22=VP_TIM17_VS_ClockSourceINT
194+
Mcu.Pin20=VP_TIM15_VS_ClockSourceINT
195+
ADC1.master=1
196+
Mcu.Pin21=VP_TIM16_VS_ClockSourceINT
197+
ADC2.NbrOfConversionFlag=1
167198
RCC.PLLSAI2PoutputFreq_Value=18285714.285714287
168199
NVIC.ForceEnableDMAVector=true
169200
KeepUserPlacement=false
@@ -172,25 +203,28 @@ NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false
172203
ProjectManager.CompilerOptimize=6
173204
VP_TIM15_VS_ClockSourceINT.Mode=Internal
174205
ProjectManager.HeapSize=0x200
175-
Mcu.Pin15=VP_RTC_VS_RTC_Activate
206+
Mcu.Pin15=PC10
176207
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
177-
Mcu.Pin16=VP_SYS_VS_Systick
178-
Mcu.Pin13=PC11
179-
Mcu.Pin14=PC12
180-
Mcu.Pin19=VP_TIM17_VS_ClockSourceINT
208+
Mcu.Pin16=PC11
209+
Mcu.Pin13=PA13 (JTMS-SWDIO)
210+
Mcu.Pin14=PA14 (JTCK-SWCLK)
211+
Mcu.Pin19=VP_SYS_VS_Systick
181212
ProjectManager.ComputerToolchain=false
182-
Mcu.Pin17=VP_TIM15_VS_ClockSourceINT
213+
Mcu.Pin17=PC12
183214
RCC.HSI_VALUE=16000000
184-
Mcu.Pin18=VP_TIM16_VS_ClockSourceINT
215+
Mcu.Pin18=VP_RTC_VS_RTC_Activate
185216
NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
186-
Mcu.Pin11=PA14 (JTCK-SWCLK)
187-
Mcu.Pin12=PC10
217+
ADC1.NbrOfConversionFlag=1
218+
Mcu.Pin11=PB10
219+
Mcu.Pin12=PB14
188220
RCC.PLLN=10
189-
Mcu.Pin10=PA13 (JTMS-SWDIO)
221+
Mcu.Pin10=PA7
190222
PA2.Mode=Asynchronous
191223
RCC.PWRFreq_Value=80000000
192224
RCC.I2C2Freq_Value=80000000
193225
RCC.APB1Freq_Value=80000000
226+
ADC3.NbrOfConversionFlag=1
194227
ProjectManager.DeviceId=STM32L476RGTx
228+
PC1.Signal=ADCx_IN2
195229
ProjectManager.LibraryCopy=2
196230
PA7.Signal=SPI1_MOSI

bsp/stm32/stm32l476-st-nucleo/board/CubeMX_Config/Inc/stm32l4xx_hal_conf.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
*/
5050

5151
#define HAL_MODULE_ENABLED
52-
/*#define HAL_ADC_MODULE_ENABLED */
52+
#define HAL_ADC_MODULE_ENABLED
5353
/*#define HAL_CRYP_MODULE_ENABLED */
5454
/*#define HAL_CAN_MODULE_ENABLED */
5555
/*#define HAL_COMP_MODULE_ENABLED */

0 commit comments

Comments
 (0)