mapp_time.c 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. //==================================================================
  2. //
  3. // Filename: mapp_time.c
  4. // Description: External Input driver.
  5. //
  6. //------------------------------------------------------------------
  7. //
  8. // version:
  9. // date: 23:54pm, 08.Apr.2012, by Sirius
  10. // Description:
  11. //
  12. //------------------------------------------------------------------
  13. //==================================================================
  14. /*------------------------------------------------------------------------------
  15. * I N C L U D E
  16. *------------------------------------------------------------------------------*/
  17. #include "stm32f0xx.h"
  18. #include "general.h"
  19. #include "main.h"
  20. #include "mapp_gpio.h"
  21. #include "mapp_time.h"
  22. #include "mapp_arm.h"
  23. #include "mapp_msg.h"
  24. /*------------------------------------------------------------------------------
  25. * D E F I N E
  26. *------------------------------------------------------------------------------*/
  27. /*------------------------------------------------------------------------------
  28. * S T R U C T
  29. *------------------------------------------------------------------------------*/
  30. /*------------------------------------------------------------------------------
  31. * S T A T I C - V A R I A B L E S
  32. *------------------------------------------------------------------------------*/
  33. /*------------------------------------------------------------------------------
  34. * G L O B A L
  35. *------------------------------------------------------------------------------*/
  36. /*------------------------------------------------------------------------------
  37. * P R O T O T Y P E
  38. *------------------------------------------------------------------------------*/
  39. //----------------------------------------------------------------------
  40. void TIM3_PWM_Init(void)
  41. {
  42. TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
  43. TIM_OCInitTypeDef TIM_OCInitStructure;
  44. RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
  45. TIM_DeInit(TIM3);
  46. //TIM_Prescaler:48,TIM_Period:20000 周期20ms
  47. TIM_TimeBaseInitStructure.TIM_Prescaler = 20000; //定时器周期
  48. TIM_TimeBaseInitStructure.TIM_Period = 1000; //0~65535 装载值
  49. TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;
  50. TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;
  51. TIM_TimeBaseInit(TIM3,&TIM_TimeBaseInitStructure);
  52. TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
  53. TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
  54. TIM_OCInitStructure.TIM_Pulse = 0 ; //预设值
  55. TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
  56. TIM_OC1Init(TIM3,&TIM_OCInitStructure);
  57. TIM_OC1PreloadConfig(TIM3,TIM_OCPreload_Enable);
  58. TIM_CtrlPWMOutputs(TIM3, ENABLE);
  59. TIM_ITConfig(TIM3,TIM_IT_CC1,ENABLE);
  60. //使能标志位CC1.CC2.CC3.CC4
  61. TIM_Cmd(TIM3,ENABLE);
  62. }
  63. /*------------------------------- E O F ----------------------------------------*/