微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM32F10x 学习笔记10(基本定时器)

STM32F10x 学习笔记10(基本定时器)

时间:11-20 来源:互联网 点击:

  1. ture;
  2. NVIC_InitStructure.NVIC_IRQChannel=TIM7_IRQn;
  3. NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
  4. NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;
  5. NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;
  6. NVIC_Init(&NVIC_InitStructure);
  7. RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM7,ENABLE);//RCC_APB1Periph_TIM7
  8. TIM_TimeBaseStructInit(&TIM7_TimeBaseStructure);
  9. TIM7_TimeBaseStructure.TIM_Prescaler=36000-1;//分频之后的时钟频率为2KHz
  10. TIM7_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;
  11. TIM7_TimeBaseStructure.TIM_Period=400-1;//5Hz定时频率
  12. TIM7_TimeBaseStructure.TIM_ClockDivision=0;
  13. TIM_TimeBaseInit(TIM7,&TIM7_TimeBaseStructure);
  14. TIM_UpdateRequestConfig(TIM7,TIM_UpdateSource_Regular);
  15. TIM_Cmd(TIM7,ENABLE);
  16. TIM_ITConfig(TIM7,TIM_IT_Update,ENABLE);
  17. }
  18. voidTIM7_IRQHandler(void)
  19. {
  20. if(TIM_GetITStatus(TIM7,TIM_IT_Update)==SET)
  21. {
  22. LED_Flash(GPIO_LED3);
  23. TIM_ClearITPendingBit(TIM7,TIM_FLAG_Update);
  24. }
  25. }


程序写完了,这里说几点注意事项。

(1)在对TIMx 进行设置之前一定要打开APB1总线上对应的时钟,否则所有的设置都不起作用。

(2)一定要设置NVIC,因为默认情况下这些外设的中断都是被禁用的。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top