ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
4 июля
1321896 Топик полностью
my504 (19.06.2023 21:54, просмотров: 192) ответил Eddy_Em на SystemInit?
Как обычно. Балабол. Потрудись открыть этот SystemInit и не юродствуй. Эта функция часть system_at32f403a_407.c Собирается как основа проекта вместе со стартапом. И да, входит в Board Support Package (BSP) 
void SystemInit (void)

{

#if defined (__FPU_USED) && (__FPU_USED == 1U)

SCB->CPACR |= ((3U << 10U * 2U) | /* set cp10 full access */

(3U << 11U * 2U) ); /* set cp11 full access */

#endif

/* reset the crm clock configuration to the default reset state(for debug purpose) */

/* set hicken bit */

CRM->ctrl_bit.hicken = TRUE;

/* wait hick stable */

while(CRM->ctrl_bit.hickstbl != SET);

/* hick used as system clock */

CRM->cfg_bit.sclksel = CRM_SCLK_HICK;

/* wait sclk switch status */

while(CRM->cfg_bit.sclksts != CRM_SCLK_HICK);

/* reset cfg register, include sclk switch, ahbdiv, apb1div, apb2div, adcdiv,

clkout pllrcs, pllhextdiv, pllmult, usbdiv and pllrange bits */

CRM->cfg = 0;

/* reset hexten, hextbyps, cfden and pllen bits */

CRM->ctrl &= ~(0x010D0000U);

/* reset clkout[3], usbbufs, hickdiv, clkoutdiv */

CRM->misc1 = 0;

/* disable all interrupts enable and clear pending bits */

CRM->clkint = 0x009F0000;

#ifdef VECT_TAB_SRAM

SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* vector table relocation in internal sram. */

#else

SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* vector table relocation in internal flash. */

#endif

}