timer_init.c 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #include "time_init.h"
  2. #include "stm32f10x_conf.h"
  3. void Timer4_init() //T4 10ms时钟
  4. { //72000000/7200=100us
  5. //
  6. TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
  7. RCC_APB1PeriphClockCmd (RCC_APB1Periph_TIM4,ENABLE);
  8. TIM_TimeBaseStructure.TIM_Period = 10000-1; //计数个数 //100us*10=1000us=10ms
  9. TIM_TimeBaseStructure.TIM_Prescaler =72-1;//分频值
  10. TIM_TimeBaseStructure.TIM_ClockDivision = 0x0; //分割时钟
  11. TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //向上计数
  12. TIM_DeInit(TIM4);
  13. TIM_TimeBaseInit(TIM4, & TIM_TimeBaseStructure);
  14. TIM_Cmd(TIM4, ENABLE); //使能定时器2
  15. /*以下定时器4中断初始化*/
  16. TIM_ITConfig(TIM4,TIM_IT_Update,ENABLE); //向上计数溢出产生中断
  17. }
  18. void Timer3_init() //T3 1ms时钟
  19. { //72000000/7200=100us
  20. //
  21. TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
  22. RCC_APB1PeriphClockCmd (RCC_APB1Periph_TIM3,ENABLE);
  23. TIM_TimeBaseStructure.TIM_Period = 1000-1; //计数个数 //10ms
  24. TIM_TimeBaseStructure.TIM_Prescaler =72-1;//分频值
  25. TIM_TimeBaseStructure.TIM_ClockDivision = 0x0; //分割时钟
  26. TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //向上计数
  27. TIM_DeInit(TIM3);
  28. TIM_TimeBaseInit(TIM3, & TIM_TimeBaseStructure);
  29. TIM_Cmd(TIM3, ENABLE); //使能定时器2
  30. /*以下定时器4中断初始化*/
  31. TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE); //向上计数溢出产生中断
  32. }