新手上路
- 积分
- 26
- 金钱
- 26
- 注册时间
- 2017-1-5
- 在线时间
- 50 小时
|
19金钱
定时器初始化
- void hal_systick_init(void)
- {
- RCC_ClocksTypeDef RCC_Clocks;
-
- SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);
- NVIC_SetPriority(SysTick_IRQn,0);
- RCC_GetClocksFreq(&RCC_Clocks);
- SysTick->LOAD = RCC_Clocks.HCLK_Frequency/1000-1;//1ms interrupt
- SysTick->VAL = 0x00;
- SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk|SysTick_CTRL_TICKINT_Msk;
- }
复制代码 中断函数
- void SysTick_Handler(void)
- {
- g_sys_tick_count++;
- if((g_sys_tick_count%1000) == 0) //1秒反转LED
- {
- GPIO_ToggleBits(GPIOD,GPIO_Pin_4);
- }
- }
复制代码 因为没示波器,只能肉眼看,差不多3秒翻转一次,但是设置定时器1秒中断时,反转又是正常的,请问哪里没对吗?
|
|