Advertisement
Guest User

Untitled

a guest
Jan 16th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1. #include "stm32f4xx.h"
  2. #include "stm32f4_discovery.h"
  3.  
  4. int main(void) {
  5. RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);
  6. RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);
  7.  
  8. GPIO_InitTypeDef GPIO_InitStructure;
  9. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14
  10. | GPIO_Pin_15;
  11. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
  12. GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  13. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
  14. GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
  15. GPIO_Init(GPIOD, &GPIO_InitStructure);
  16.  
  17. TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
  18. TIM_TimeBaseStructure.TIM_Period = 9999;
  19. TIM_TimeBaseStructure.TIM_Prescaler = 8399;
  20. TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
  21. TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
  22. TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure);
  23.  
  24. TIM_Cmd(TIM4, ENABLE);
  25.  
  26. TIM_OCInitTypeDef TIM_OCInitStructure;
  27. TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
  28. TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
  29. TIM_OCInitStructure.TIM_Pulse = 0;
  30. TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
  31.  
  32. TIM_OC1Init(TIM4, &TIM_OCInitStructure);
  33. TIM_OC1PreloadConfig(TIM4, TIM_OCPreload_Enable);
  34.  
  35. TIM_OC2Init(TIM4, &TIM_OCInitStructure);
  36. TIM_OC2PreloadConfig(TIM4, TIM_OCPreload_Enable);
  37.  
  38. TIM_OC3Init(TIM4, &TIM_OCInitStructure);
  39. TIM_OC3PreloadConfig(TIM4, TIM_OCPreload_Enable);
  40.  
  41. TIM_OC4Init(TIM4, &TIM_OCInitStructure);
  42. TIM_OC4PreloadConfig(TIM4, TIM_OCPreload_Enable);
  43.  
  44. GPIO_PinAFConfig(GPIOD, GPIO_PinSource12, GPIO_AF_TIM4);
  45. GPIO_PinAFConfig(GPIOD, GPIO_PinSource13, GPIO_AF_TIM4);
  46. GPIO_PinAFConfig(GPIOD, GPIO_PinSource14, GPIO_AF_TIM4);
  47. GPIO_PinAFConfig(GPIOD, GPIO_PinSource15, GPIO_AF_TIM4);
  48.  
  49. TIM4->CCR1 = 20.0 / 100 * 10000;
  50. TIM4->CCR2 = 40.0 / 100 * 10000;
  51. TIM4->CCR3 = 60.0 / 100 * 10000;
  52. TIM4->CCR4 = 90.0 / 100 * 10000;
  53.  
  54. for (;;) {
  55.  
  56. }
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement