Skip to content

Commit 4bee990

Browse files
authored
Merge pull request #3301 from xiangxistu/dev
[bsp][stm32] bsp/stm32/stm32f407-atk-explorer support USB Device
2 parents c232235 + e473ad5 commit 4bee990

File tree

8 files changed

+89
-114
lines changed

8 files changed

+89
-114
lines changed

bsp/stm32/stm32f407-atk-explorer/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@
5757
| WDT | 支持 | |
5858
| FLASH | 支持 | 已适配 [FAL](https://github.com/RT-Thread-packages/fal) |
5959
| PWM | 支持 | |
60-
| USB Device | 暂不支持 | 即将支持 |
61-
| USB Host | 暂不支持 | 即将支持 |
60+
| USB Device | 支持 | |
61+
| USB Host | 支持 | |
6262
| **扩展模块** | **支持情况** | **备注** |
6363
| ATK-ESP8266 模块 | 暂不支持 | 即将支持 |
6464

bsp/stm32/stm32f407-atk-explorer/board/CubeMX_Config/.mxproject

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

bsp/stm32/stm32f407-atk-explorer/board/CubeMX_Config/CubeMX_Config.ioc

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,11 @@ Mcu.PinsNb=44
7979
Mcu.ThirdPartyNb=0
8080
Mcu.UserConstants=
8181
Mcu.UserName=STM32F407ZGTx
82-
MxCube.Version=5.0.0
83-
MxDb.Version=DB.5.0.0
82+
MxCube.Version=5.4.0
83+
MxDb.Version=DB.5.0.40
8484
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
8585
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
86+
NVIC.ForceEnableDMAVector=true
8687
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
8788
NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false
8889
NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false
@@ -98,9 +99,9 @@ PA1.Mode=RMII
9899
PA1.Signal=ETH_REF_CLK
99100
PA10.Mode=Asynchronous
100101
PA10.Signal=USART1_RX
101-
PA11.Mode=Host_Only
102+
PA11.Mode=Device_Only
102103
PA11.Signal=USB_OTG_FS_DM
103-
PA12.Mode=Host_Only
104+
PA12.Mode=Device_Only
104105
PA12.Signal=USB_OTG_FS_DP
105106
PA13.Mode=Serial_Wire
106107
PA13.Signal=SYS_JTMS-SWDIO
@@ -191,7 +192,7 @@ ProjectManager.CustomerFirmwarePackage=
191192
ProjectManager.DefaultFWLocation=true
192193
ProjectManager.DeletePrevious=true
193194
ProjectManager.DeviceId=STM32F407ZGTx
194-
ProjectManager.FirmwarePackage=STM32Cube FW_F4 V1.22.0
195+
ProjectManager.FirmwarePackage=STM32Cube FW_F4 V1.24.2
195196
ProjectManager.FreePins=false
196197
ProjectManager.HalAssertFull=false
197198
ProjectManager.HeapSize=0x200
@@ -208,7 +209,7 @@ ProjectManager.StackSize=0x400
208209
ProjectManager.TargetToolchain=MDK-ARM V5
209210
ProjectManager.ToolChainLocation=
210211
ProjectManager.UnderRoot=false
211-
ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_USART1_UART_Init-USART1-false-HAL-true,4-MX_SPI1_Init-SPI1-false-HAL-true,5-MX_ETH_Init-ETH-false-HAL-true,6-MX_USART3_UART_Init-USART3-false-HAL-true,7-MX_ADC1_Init-ADC1-false-HAL-true,8-MX_RTC_Init-RTC-false-HAL-true,9-MX_IWDG_Init-IWDG-false-HAL-true,10-MX_TIM14_Init-TIM14-false-HAL-true,11-MX_TIM13_Init-TIM13-false-HAL-true,12-MX_TIM11_Init-TIM11-false-HAL-true,13-MX_SDIO_SD_Init-SDIO-false-HAL-true,14-MX_TIM2_Init-TIM2-false-HAL-true,15-MX_SPI2_Init-SPI2-false-HAL-true,16-MX_TIM4_Init-TIM4-false-HAL-true
212+
ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_USART1_UART_Init-USART1-false-HAL-true,4-MX_SPI1_Init-SPI1-false-HAL-true,5-MX_ETH_Init-ETH-false-HAL-true,6-MX_USART3_UART_Init-USART3-false-HAL-true,7-MX_ADC1_Init-ADC1-false-HAL-true,8-MX_RTC_Init-RTC-false-HAL-true,9-MX_IWDG_Init-IWDG-false-HAL-true,10-MX_TIM14_Init-TIM14-false-HAL-true,11-MX_TIM13_Init-TIM13-false-HAL-true,12-MX_TIM11_Init-TIM11-false-HAL-true,13-MX_SDIO_SD_Init-SDIO-false-HAL-true,14-MX_TIM2_Init-TIM2-false-HAL-true,15-MX_SPI2_Init-SPI2-false-HAL-true,16-MX_TIM4_Init-TIM4-false-HAL-true,17-MX_USB_OTG_FS_PCD_Init-USB_OTG_FS-false-HAL-true
212213
RCC.48MHZClocksFreq_Value=48000000
213214
RCC.AHBFreq_Value=168000000
214215
RCC.APB1CLKDivider=RCC_HCLK_DIV4
@@ -225,15 +226,14 @@ RCC.HCLKFreq_Value=168000000
225226
RCC.HSE_VALUE=8000000
226227
RCC.HSI_VALUE=16000000
227228
RCC.I2SClocksFreq_Value=192000000
228-
RCC.IPParameters=48MHZClocksFreq_Value,AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2CLKDivider,APB2Freq_Value,APB2TimFreq_Value,CortexFreq_Value,EthernetFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI_VALUE,I2SClocksFreq_Value,LSI_VALUE,MCO2PinFreq_Value,PLLCLKFreq_Value,PLLM,PLLN,PLLQ,PLLQCLKFreq_Value,PLLSourceVirtual,RCC_RTC_Clock_Source,RCC_RTC_Clock_SourceVirtual,RTCFreq_Value,RTCHSEDivFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,VCOI2SOutputFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VcooutputI2S
229+
RCC.IPParameters=48MHZClocksFreq_Value,AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2CLKDivider,APB2Freq_Value,APB2TimFreq_Value,CortexFreq_Value,EthernetFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI_VALUE,I2SClocksFreq_Value,LSI_VALUE,MCO2PinFreq_Value,PLLCLKFreq_Value,PLLM,PLLN,PLLQ,PLLQCLKFreq_Value,RCC_RTC_Clock_Source,RCC_RTC_Clock_SourceVirtual,RTCFreq_Value,RTCHSEDivFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,VCOI2SOutputFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VcooutputI2S
229230
RCC.LSI_VALUE=32000
230231
RCC.MCO2PinFreq_Value=168000000
231232
RCC.PLLCLKFreq_Value=168000000
232233
RCC.PLLM=4
233234
RCC.PLLN=168
234235
RCC.PLLQ=7
235236
RCC.PLLQCLKFreq_Value=48000000
236-
RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE
237237
RCC.RCC_RTC_Clock_Source=RCC_RTCCLKSOURCE_LSE
238238
RCC.RCC_RTC_Clock_SourceVirtual=RCC_RTCCLKSOURCE_LSE
239239
RCC.RTCFreq_Value=32768
@@ -268,9 +268,8 @@ USART1.IPParameters=VirtualMode
268268
USART1.VirtualMode=VM_ASYNC
269269
USART3.IPParameters=VirtualMode
270270
USART3.VirtualMode=VM_ASYNC
271-
USB_OTG_FS.IPParameters=VirtualMode,phy_itface
272-
USB_OTG_FS.VirtualMode=Host_Only
273-
USB_OTG_FS.phy_itface=HCD_PHY_EMBEDDED
271+
USB_OTG_FS.IPParameters=VirtualMode
272+
USB_OTG_FS.VirtualMode=Device_Only
274273
VP_IWDG_VS_IWDG.Mode=IWDG_Activate
275274
VP_IWDG_VS_IWDG.Signal=IWDG_VS_IWDG
276275
VP_RTC_VS_RTC_Activate.Mode=RTC_Enabled

bsp/stm32/stm32f407-atk-explorer/board/CubeMX_Config/Inc/stm32f4xx_hal_conf.h

Lines changed: 23 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,20 @@
11
/**
22
******************************************************************************
3-
* @file stm32f4xx_hal_conf.h
4-
* @brief HAL configuration file.
3+
* @file stm32f4xx_hal_conf_template.h
4+
* @author MCD Application Team
5+
* @brief HAL configuration template file.
6+
* This file should be copied to the application folder and renamed
7+
* to stm32f4xx_hal_conf.h.
58
******************************************************************************
69
* @attention
710
*
8-
* <h2><center>&copy; COPYRIGHT(c) 2019 STMicroelectronics</center></h2>
11+
* <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.
12+
* All rights reserved.</center></h2>
913
*
10-
* Redistribution and use in source and binary forms, with or without modification,
11-
* are permitted provided that the following conditions are met:
12-
* 1. Redistributions of source code must retain the above copyright notice,
13-
* this list of conditions and the following disclaimer.
14-
* 2. Redistributions in binary form must reproduce the above copyright notice,
15-
* this list of conditions and the following disclaimer in the documentation
16-
* and/or other materials provided with the distribution.
17-
* 3. Neither the name of STMicroelectronics nor the names of its contributors
18-
* may be used to endorse or promote products derived from this software
19-
* without specific prior written permission.
20-
*
21-
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22-
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23-
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24-
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25-
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26-
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27-
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28-
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29-
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30-
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
14+
* This software component is licensed by ST under BSD 3-Clause license,
15+
* the "License"; You may not use this file except in compliance with the
16+
* License. You may obtain a copy of the License at:
17+
* opensource.org/licenses/BSD-3-Clause
3118
*
3219
******************************************************************************
3320
*/
@@ -49,7 +36,7 @@
4936
*/
5037
#define HAL_MODULE_ENABLED
5138

52-
#define HAL_ADC_MODULE_ENABLED
39+
#define HAL_ADC_MODULE_ENABLED
5340
/* #define HAL_CRYP_MODULE_ENABLED */
5441
/* #define HAL_CAN_MODULE_ENABLED */
5542
/* #define HAL_CRC_MODULE_ENABLED */
@@ -79,8 +66,9 @@
7966
/* #define HAL_USART_MODULE_ENABLED */
8067
/* #define HAL_IRDA_MODULE_ENABLED */
8168
/* #define HAL_SMARTCARD_MODULE_ENABLED */
69+
/* #define HAL_SMBUS_MODULE_ENABLED */
8270
/* #define HAL_WWDG_MODULE_ENABLED */
83-
/* #define HAL_PCD_MODULE_ENABLED */
71+
#define HAL_PCD_MODULE_ENABLED
8472
#define HAL_HCD_MODULE_ENABLED
8573
/* #define HAL_DSI_MODULE_ENABLED */
8674
/* #define HAL_QSPI_MODULE_ENABLED */
@@ -90,8 +78,8 @@
9078
/* #define HAL_SPDIFRX_MODULE_ENABLED */
9179
/* #define HAL_DFSDM_MODULE_ENABLED */
9280
/* #define HAL_LPTIM_MODULE_ENABLED */
93-
/* #define HAL_EXTI_MODULE_ENABLED */
9481
#define HAL_GPIO_MODULE_ENABLED
82+
#define HAL_EXTI_MODULE_ENABLED
9583
#define HAL_DMA_MODULE_ENABLED
9684
#define HAL_RCC_MODULE_ENABLED
9785
#define HAL_FLASH_MODULE_ENABLED
@@ -221,12 +209,12 @@
221209
#define PHY_JABBER_DETECTION ((uint16_t)0x0002U) /*!< Jabber condition detected */
222210

223211
/* Section 4: Extended PHY Registers */
224-
#define PHY_SR ((uint16_t)0x10U) /*!< PHY status register Offset */
212+
#define PHY_SR ((uint16_t)0x1FU) /*!< PHY status register Offset */
225213

226-
#define PHY_SPEED_STATUS ((uint16_t)0x0002U) /*!< PHY Speed mask */
227-
#define PHY_DUPLEX_STATUS ((uint16_t)0x0004U) /*!< PHY Duplex mask */
214+
#define PHY_SPEED_STATUS ((uint16_t)0x0004U) /*!< PHY Speed mask */
215+
#define PHY_DUPLEX_STATUS ((uint16_t)0x0010U) /*!< PHY Duplex mask */
228216

229-
#define PHY_ISFR ((uint16_t)0x000BU) /*!< PHY Interrupt Source Flag register Offset */
217+
#define PHY_ISFR ((uint16_t)0x001DU) /*!< PHY Interrupt Source Flag register Offset */
230218
#define PHY_ISFR_INT4 ((uint16_t)0x000BU) /*!< PHY Link down inturrupt */
231219

232220
/* ################## SPI peripheral configuration ########################## */
@@ -279,6 +267,10 @@
279267
#include "stm32f4xx_hal_cryp.h"
280268
#endif /* HAL_CRYP_MODULE_ENABLED */
281269

270+
#ifdef HAL_SMBUS_MODULE_ENABLED
271+
#include "stm32f4xx_hal_smbus.h"
272+
#endif /* HAL_SMBUS_MODULE_ENABLED */
273+
282274
#ifdef HAL_DMA2D_MODULE_ENABLED
283275
#include "stm32f4xx_hal_dma2d.h"
284276
#endif /* HAL_DMA2D_MODULE_ENABLED */

bsp/stm32/stm32f407-atk-explorer/board/CubeMX_Config/Src/main.c

Lines changed: 33 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ TIM_HandleTypeDef htim14;
8484
UART_HandleTypeDef huart1;
8585
UART_HandleTypeDef huart3;
8686

87-
HCD_HandleTypeDef hhcd_USB_OTG_FS;
87+
PCD_HandleTypeDef hpcd_USB_OTG_FS;
8888

8989
/* USER CODE BEGIN PV */
9090
/* Private variables ---------------------------------------------------------*/
@@ -108,7 +108,7 @@ static void MX_SDIO_SD_Init(void);
108108
static void MX_TIM2_Init(void);
109109
static void MX_SPI2_Init(void);
110110
static void MX_TIM4_Init(void);
111-
static void MX_USB_OTG_FS_HCD_Init(void);
111+
static void MX_USB_OTG_FS_PCD_Init(void);
112112
/* USER CODE BEGIN PFP */
113113
/* Private function prototypes -----------------------------------------------*/
114114

@@ -128,6 +128,7 @@ int main(void)
128128
/* USER CODE BEGIN 1 */
129129

130130
/* USER CODE END 1 */
131+
131132

132133
/* MCU Configuration--------------------------------------------------------*/
133134

@@ -161,7 +162,7 @@ int main(void)
161162
MX_TIM2_Init();
162163
MX_SPI2_Init();
163164
MX_TIM4_Init();
164-
MX_USB_OTG_FS_HCD_Init();
165+
MX_USB_OTG_FS_PCD_Init();
165166
/* USER CODE BEGIN 2 */
166167

167168
/* USER CODE END 2 */
@@ -189,11 +190,11 @@ void SystemClock_Config(void)
189190
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
190191
RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
191192

192-
/**Configure the main internal regulator output voltage
193+
/** Configure the main internal regulator output voltage
193194
*/
194195
__HAL_RCC_PWR_CLK_ENABLE();
195196
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
196-
/**Initializes the CPU, AHB and APB busses clocks
197+
/** Initializes the CPU, AHB and APB busses clocks
197198
*/
198199
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSI|RCC_OSCILLATORTYPE_HSE
199200
|RCC_OSCILLATORTYPE_LSE;
@@ -210,7 +211,7 @@ void SystemClock_Config(void)
210211
{
211212
Error_Handler();
212213
}
213-
/**Initializes the CPU, AHB and APB busses clocks
214+
/** Initializes the CPU, AHB and APB busses clocks
214215
*/
215216
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
216217
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
@@ -248,7 +249,7 @@ static void MX_ADC1_Init(void)
248249
/* USER CODE BEGIN ADC1_Init 1 */
249250

250251
/* USER CODE END ADC1_Init 1 */
251-
/**Configure the global features of the ADC (Clock, Resolution, Data Alignment and number of conversion)
252+
/** Configure the global features of the ADC (Clock, Resolution, Data Alignment and number of conversion)
252253
*/
253254
hadc1.Instance = ADC1;
254255
hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4;
@@ -266,7 +267,7 @@ static void MX_ADC1_Init(void)
266267
{
267268
Error_Handler();
268269
}
269-
/**Configure for the selected ADC regular channel its corresponding rank in the sequencer and its sample time.
270+
/** Configure for the selected ADC regular channel its corresponding rank in the sequencer and its sample time.
270271
*/
271272
sConfig.Channel = ADC_CHANNEL_5;
272273
sConfig.Rank = 1;
@@ -293,21 +294,18 @@ static void MX_ETH_Init(void)
293294

294295
/* USER CODE END ETH_Init 0 */
295296

296-
uint8_t MACAddr[6] ;
297-
298297
/* USER CODE BEGIN ETH_Init 1 */
299298

300299
/* USER CODE END ETH_Init 1 */
301300
heth.Instance = ETH;
302301
heth.Init.AutoNegotiation = ETH_AUTONEGOTIATION_ENABLE;
303302
heth.Init.PhyAddress = LAN8742A_PHY_ADDRESS;
304-
MACAddr[0] = 0x00;
305-
MACAddr[1] = 0x80;
306-
MACAddr[2] = 0xE1;
307-
MACAddr[3] = 0x00;
308-
MACAddr[4] = 0x00;
309-
MACAddr[5] = 0x00;
310-
heth.Init.MACAddr = &MACAddr[0];
303+
heth.Init.MACAddr[0] = 0x00;
304+
heth.Init.MACAddr[1] = 0x80;
305+
heth.Init.MACAddr[2] = 0xE1;
306+
heth.Init.MACAddr[3] = 0x00;
307+
heth.Init.MACAddr[4] = 0x00;
308+
heth.Init.MACAddr[5] = 0x00;
311309
heth.Init.RxMode = ETH_RXPOLLING_MODE;
312310
heth.Init.ChecksumMode = ETH_CHECKSUM_BY_HARDWARE;
313311
heth.Init.MediaInterface = ETH_MEDIA_INTERFACE_RMII;
@@ -369,7 +367,7 @@ static void MX_RTC_Init(void)
369367
/* USER CODE BEGIN RTC_Init 1 */
370368

371369
/* USER CODE END RTC_Init 1 */
372-
/**Initialize RTC Only
370+
/** Initialize RTC Only
373371
*/
374372
hrtc.Instance = RTC;
375373
hrtc.Init.HourFormat = RTC_HOURFORMAT_24;
@@ -524,6 +522,7 @@ static void MX_TIM2_Init(void)
524522
htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
525523
htim2.Init.Period = 0;
526524
htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
525+
htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
527526
if (HAL_TIM_Base_Init(&htim2) != HAL_OK)
528527
{
529528
Error_Handler();
@@ -581,6 +580,7 @@ static void MX_TIM4_Init(void)
581580
htim4.Init.CounterMode = TIM_COUNTERMODE_UP;
582581
htim4.Init.Period = 0;
583582
htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
583+
htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
584584
sConfig.EncoderMode = TIM_ENCODERMODE_TI1;
585585
sConfig.IC1Polarity = TIM_ICPOLARITY_RISING;
586586
sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI;
@@ -626,6 +626,7 @@ static void MX_TIM11_Init(void)
626626
htim11.Init.CounterMode = TIM_COUNTERMODE_UP;
627627
htim11.Init.Period = 0;
628628
htim11.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
629+
htim11.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
629630
if (HAL_TIM_Base_Init(&htim11) != HAL_OK)
630631
{
631632
Error_Handler();
@@ -656,6 +657,7 @@ static void MX_TIM13_Init(void)
656657
htim13.Init.CounterMode = TIM_COUNTERMODE_UP;
657658
htim13.Init.Period = 0;
658659
htim13.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
660+
htim13.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
659661
if (HAL_TIM_Base_Init(&htim13) != HAL_OK)
660662
{
661663
Error_Handler();
@@ -686,6 +688,7 @@ static void MX_TIM14_Init(void)
686688
htim14.Init.CounterMode = TIM_COUNTERMODE_UP;
687689
htim14.Init.Period = 0;
688690
htim14.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
691+
htim14.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
689692
if (HAL_TIM_Base_Init(&htim14) != HAL_OK)
690693
{
691694
Error_Handler();
@@ -767,7 +770,7 @@ static void MX_USART3_UART_Init(void)
767770
* @param None
768771
* @retval None
769772
*/
770-
static void MX_USB_OTG_FS_HCD_Init(void)
773+
static void MX_USB_OTG_FS_PCD_Init(void)
771774
{
772775

773776
/* USER CODE BEGIN USB_OTG_FS_Init 0 */
@@ -777,13 +780,17 @@ static void MX_USB_OTG_FS_HCD_Init(void)
777780
/* USER CODE BEGIN USB_OTG_FS_Init 1 */
778781

779782
/* USER CODE END USB_OTG_FS_Init 1 */
780-
hhcd_USB_OTG_FS.Instance = USB_OTG_FS;
781-
hhcd_USB_OTG_FS.Init.Host_channels = 8;
782-
hhcd_USB_OTG_FS.Init.speed = HCD_SPEED_FULL;
783-
hhcd_USB_OTG_FS.Init.dma_enable = DISABLE;
784-
hhcd_USB_OTG_FS.Init.phy_itface = HCD_PHY_EMBEDDED;
785-
hhcd_USB_OTG_FS.Init.Sof_enable = DISABLE;
786-
if (HAL_HCD_Init(&hhcd_USB_OTG_FS) != HAL_OK)
783+
hpcd_USB_OTG_FS.Instance = USB_OTG_FS;
784+
hpcd_USB_OTG_FS.Init.dev_endpoints = 4;
785+
hpcd_USB_OTG_FS.Init.speed = PCD_SPEED_FULL;
786+
hpcd_USB_OTG_FS.Init.dma_enable = DISABLE;
787+
hpcd_USB_OTG_FS.Init.phy_itface = PCD_PHY_EMBEDDED;
788+
hpcd_USB_OTG_FS.Init.Sof_enable = DISABLE;
789+
hpcd_USB_OTG_FS.Init.low_power_enable = DISABLE;
790+
hpcd_USB_OTG_FS.Init.lpm_enable = DISABLE;
791+
hpcd_USB_OTG_FS.Init.vbus_sensing_enable = DISABLE;
792+
hpcd_USB_OTG_FS.Init.use_dedicated_ep1 = DISABLE;
793+
if (HAL_PCD_Init(&hpcd_USB_OTG_FS) != HAL_OK)
787794
{
788795
Error_Handler();
789796
}

0 commit comments

Comments
 (0)