设置usb时钟
This commit is contained in:
@@ -195,7 +195,6 @@ void OTG_HS_EP1_OUT_IRQHandler(void)
|
||||
#endif
|
||||
|
||||
|
||||
#if PKG_TINYUSB_DEVICE_ENABLE
|
||||
void OTG_FS_IRQHandler(void) {
|
||||
tusb_int_handler(0, true);
|
||||
}
|
||||
@@ -204,7 +203,6 @@ void OTG_HS_IRQHandler(void) {
|
||||
tusb_int_handler(1, true);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
|
@@ -348,9 +348,9 @@
|
||||
through STLINK MCO pin of STM32F103 microcontroller. The frequency cannot be changed
|
||||
and is fixed at 8 MHz.
|
||||
Hardware configuration needed for Nucleo Board:
|
||||
<EFBFBD> SB54, SB55 OFF
|
||||
<EFBFBD> R35 removed
|
||||
<EFBFBD> SB16, SB50 ON */
|
||||
? SB54, SB55 OFF
|
||||
? R35 removed
|
||||
? SB16, SB50 ON */
|
||||
/* #define USE_HSE_BYPASS */
|
||||
|
||||
#if defined(USE_HSE_BYPASS)
|
||||
@@ -392,7 +392,11 @@
|
||||
#endif /* STM32F446xx */
|
||||
|
||||
#if defined(STM32F427_437xx) || defined(STM32F429_439xx) || defined(STM32F446xx) || defined(STM32F469_479xx)
|
||||
#ifdef __USB_USB__
|
||||
#define PLL_N 336
|
||||
#else /* !__USB_USB__ */
|
||||
#define PLL_N 360
|
||||
#endif
|
||||
/* SYSCLK = PLL_VCO / PLL_P */
|
||||
#define PLL_P 2
|
||||
#endif /* STM32F427_437x || STM32F429_439xx || STM32F446xx || STM32F469_479xx */
|
||||
@@ -438,7 +442,11 @@
|
||||
#endif /* STM32F40_41xxx */
|
||||
|
||||
#if defined(STM32F427_437xx) || defined(STM32F429_439xx) || defined(STM32F446xx) || defined(STM32F469_479xx)
|
||||
#ifdef __USB_USB__
|
||||
uint32_t SystemCoreClock = 168000000;
|
||||
#else /* !__USB_USB__ */
|
||||
uint32_t SystemCoreClock = 180000000;
|
||||
#endif
|
||||
#endif /* STM32F427_437x || STM32F429_439xx || STM32F446xx || STM32F469_479xx */
|
||||
|
||||
#if defined(STM32F401xx)
|
||||
|
@@ -51,6 +51,7 @@ typedef struct
|
||||
uint32_t HCLK_Frequency; /*!< HCLK clock frequency expressed in Hz */
|
||||
uint32_t PCLK1_Frequency; /*!< PCLK1 clock frequency expressed in Hz */
|
||||
uint32_t PCLK2_Frequency; /*!< PCLK2 clock frequency expressed in Hz */
|
||||
uint32_t USBCLK_Frequency;
|
||||
}RCC_ClocksTypeDef;
|
||||
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
|
@@ -1316,7 +1316,8 @@ void RCC_PCLK2Config(uint32_t RCC_HCLK)
|
||||
*/
|
||||
void RCC_GetClocksFreq(RCC_ClocksTypeDef* RCC_Clocks)
|
||||
{
|
||||
uint32_t tmp = 0, presc = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2;
|
||||
uint32_t tmp = 0, presc = 0, pllvco = 0, pllp = 2, pllq = 7, pllsource = 0,
|
||||
pllm = 2;
|
||||
#if defined(STM32F412xG) || defined(STM32F413_423xx) || defined(STM32F446xx)
|
||||
uint32_t pllr = 2;
|
||||
#endif /* STM32F412xG || STM32F413_423xx || STM32F446xx */
|
||||
@@ -1352,7 +1353,9 @@ void RCC_GetClocksFreq(RCC_ClocksTypeDef* RCC_Clocks)
|
||||
}
|
||||
|
||||
pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2;
|
||||
pllq = ((RCC->PLLCFGR & RCC_PLLCFGR_PLLQ) >>24);
|
||||
RCC_Clocks->SYSCLK_Frequency = pllvco/pllp;
|
||||
RCC_Clocks->USBCLK_Frequency = pllvco/pllq;
|
||||
break;
|
||||
|
||||
#if defined(STM32F412xG) || defined(STM32F413_423xx) || defined(STM32F446xx)
|
||||
|
@@ -102,8 +102,10 @@ const libc_device_file *g_usart;
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ӣ<EFBFBD>25m<35><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>֤usbΪ48m<38><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ168m
|
||||
void reconfig_clock(void) {
|
||||
RCC_PLLConfig(RCC_PLLSource_HSE, 25, 336, 2, 7);
|
||||
SystemCoreClock = 168000000;
|
||||
RCC_ClocksTypeDef rcc = {0};
|
||||
// RCC_PLLConfig(RCC_PLLSource_HSE, 25, 336, 2, 7);
|
||||
RCC_GetClocksFreq(&rcc);
|
||||
SystemCoreClock = rcc.SYSCLK_Frequency;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -41,8 +41,9 @@ DEF=[
|
||||
'-D__packed=__attribute__((__packed__))',
|
||||
'-D__weak=__attribute__((weak))',
|
||||
'-D__RTTHREAD__',
|
||||
'-DSOC_SERIES_STM32F4',
|
||||
'-DPKG_TINYUSB_DEVICE_ENABLE',
|
||||
# 使用usb时打开这个宏 系统时钟会被设置为168MHz USB时钟为48MHz
|
||||
# 如果不打开这个宏 系统时钟会被设置为180MHz USB会通信异常
|
||||
'-D__USB_USB__',
|
||||
]
|
||||
|
||||
INC=[
|
||||
|
Reference in New Issue
Block a user