|
- #include "FM33L0XX.h"
- #include "fm33l0xx_rcc.h"
- #include "fm33l0xx_gpio.h"
- void systemInit(void);
- void ledOutputCfg(void);
- void SysTick_Handler(void)
- {
- GPIO_ToggleBits(GPIOC,GPIO_Pin_0);
- }
- int main()
- {
-
- SystemInit();
- ledOutputCfg();
-
- while(1)
- {
-
- }
- }
- void systemInit(void)
- {
- RCC_RCHF_InitTypeDef RCHF_InitStruct;
- RCC_SYSCLK_InitTypeDef SYSCLK_InitStruct;
-
- __disable_irq();
-
- SysTick_Config(8000000);
-
- for (int i = 0; i < 4000000; i++)
- {
- }
-
- RCHF_InitStruct.FSEL = RCC_RCHF_CR_FSEL_8MHZ; // RCHF 8M
- RCHF_InitStruct.RCHFEN = ENABLE; // 使能 RCHF
- RCC_RCHF_Init(&RCHF_InitStruct);
- SYSCLK_InitStruct.SYSCLKSEL = RCC_SYSCLK_CR_SYSCLKSEL_RCHF; // RCHF 做主时钟
- SYSCLK_InitStruct.STCLKSEL = RCC_SYSCLK_CR_STCLKSEL_SCLK; // SCLK 做 systick 时钟
- SYSCLK_InitStruct.AHBPRES = RCC_SYSCLK_CR_AHBPRES_DIV1; // AHB 不分频
- SYSCLK_InitStruct.APBPRES = RCC_SYSCLK_CR_APBPRES_DIV1; // APB 不分频
- SYSCLK_InitStruct.SLP_ENEXTI = ENABLE; // 休眠时使能外部中断采样
- SYSCLK_InitStruct.LSCATS = ENABLE; // LSCLK 自动切换
- RCC_SysClk_Init(&SYSCLK_InitStruct);
-
-
-
-
-
- __enable_irq();
-
- }
- void ledOutputCfg(void)
- {
- GPIO_InitTypeDef GPIO_InitStructure;
-
- RCC_PERCLK_SetableEx( PADCLK, ENABLE ); // 使能 APH GPIO 时钟
-
- GPIO_ResetBits(GPIOC,GPIO_Pin_0);
- GPIO_InitStructure.Pin = GPIO_Pin_0;
- GPIO_InitStructure.PxINEN = GPIO_IN_Dis;
- GPIO_InitStructure.PxODEN = GPIO_OD_Dis;
- GPIO_InitStructure.PxPUEN = GPIO_PU_Dis;
- GPIO_InitStructure.PxFCR = GPIO_FCR_OUT;
- GPIO_Init(GPIOC,&GPIO_InitStructure);
-
- }
复制代码 systick 中断没有响应,是配置步骤不正确吗???
|
|