Advertisement
loakar

Untitled

Jan 19th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.81 KB | None | 0 0
  1. /**
  2.   ******************************************************************************
  3.   * @file    main.c
  4.   * @author  Ac6
  5.   * @version V1.0
  6.   * @date    01-December-2013
  7.   * @brief   Default main function.
  8.   ******************************************************************************
  9. */
  10.  
  11.  
  12. #include "stm32f4xx.h"
  13. #include "stm32f4_discovery.h"
  14.  
  15.  
  16. int main(void)
  17. {
  18.  
  19.  
  20.         RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);
  21.         RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE, ENABLE);
  22.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);
  23.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
  24.  
  25.         GPIO_InitTypeDef  GPIO_InitStructure;
  26.         //GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_13| GPIO_Pin_14| GPIO_Pin_15;
  27.         //GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  28.         //GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  29.         //GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
  30.         //GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
  31.         //GPIO_Init(GPIOD, &GPIO_InitStructure);
  32.  
  33.         TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
  34.         /* Time base configuration */
  35.         TIM_TimeBaseStructure.TIM_Period = 101 - 1;
  36.         TIM_TimeBaseStructure.TIM_Prescaler = 420 - 1;
  37.         TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
  38.         TIM_TimeBaseStructure.TIM_CounterMode =  TIM_CounterMode_Up ;
  39.         TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure);
  40.  
  41.         //TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
  42.         /* Time base configuration */
  43.         TIM_TimeBaseStructure.TIM_Period = 2000-1;
  44.         TIM_TimeBaseStructure.TIM_Prescaler = 8400-1;
  45.         TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
  46.         TIM_TimeBaseStructure.TIM_CounterMode =  TIM_CounterMode_Up ;
  47.         TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
  48.  
  49.         TIM_OCInitTypeDef TIM_OCInitStructure;
  50.  
  51.         TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
  52.         TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
  53.         TIM_OCInitStructure.TIM_Pulse = 0;
  54.         TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
  55.  
  56.         TIM_OC1Init(TIM4, &TIM_OCInitStructure);
  57.         TIM_OC1PreloadConfig(TIM4, TIM_OCPreload_Enable);
  58.         TIM_OC2Init(TIM4, &TIM_OCInitStructure);
  59.         TIM_OC2PreloadConfig(TIM4, TIM_OCPreload_Enable);
  60.         TIM_OC3Init(TIM4, &TIM_OCInitStructure);
  61.         TIM_OC3PreloadConfig(TIM4, TIM_OCPreload_Enable);
  62.         TIM_OC4Init(TIM4, &TIM_OCInitStructure);
  63.         TIM_OC4PreloadConfig(TIM4, TIM_OCPreload_Enable);
  64.  
  65.         GPIO_PinAFConfig(GPIOD, GPIO_PinSource12, GPIO_AF_TIM4);
  66.         GPIO_PinAFConfig(GPIOD, GPIO_PinSource13, GPIO_AF_TIM4);
  67.         GPIO_PinAFConfig(GPIOD, GPIO_PinSource14, GPIO_AF_TIM4);
  68.         GPIO_PinAFConfig(GPIOD, GPIO_PinSource15, GPIO_AF_TIM4);
  69.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
  70.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
  71.         GPIO_Init(GPIOD, &GPIO_InitStructure);
  72.  
  73.  
  74.  
  75.  
  76.         TIM_Cmd(TIM4, ENABLE);
  77.         TIM_Cmd(TIM3, ENABLE);
  78.  
  79.         int zmienne =0;
  80.         int zmienne1 =0;
  81.         int zmienne2 =0;
  82.         int zmienne3 =0;
  83.         for(;;)
  84.         {
  85.              if(zmienne<110){
  86.             if(TIM_GetFlagStatus(TIM3, TIM_FLAG_Update==1)) {
  87.                 TIM4->CCR1 = zmienne;
  88.                 zmienne=zmienne+10;
  89.                 TIM_ClearFlag(TIM3, TIM_FLAG_Update);
  90.             }
  91.              }
  92.             if(zmienne>100 && zmienne1<110){
  93.             if(TIM_GetFlagStatus(TIM3, TIM_FLAG_Update==1)) {
  94.                 TIM4->CCR2 = zmienne1;
  95.                 zmienne1=zmienne1+10;
  96.                 TIM_ClearFlag(TIM3, TIM_FLAG_Update);
  97.  
  98.                 }
  99.             }
  100.             if(zmienne1>90 && zmienne2<110){
  101.             if(TIM_GetFlagStatus(TIM3, TIM_FLAG_Update==1)) {
  102.                 TIM4->CCR3 = zmienne2;
  103.                 zmienne2=zmienne2+10;
  104.                 TIM_ClearFlag(TIM3, TIM_FLAG_Update);
  105.  
  106.                 }
  107.             }
  108.             if(zmienne2>90){
  109.             if(TIM_GetFlagStatus(TIM3, TIM_FLAG_Update==1)) {
  110.                 TIM4->CCR4 = zmienne3;
  111.                 zmienne3=zmienne3+10;
  112.                 TIM_ClearFlag(TIM3, TIM_FLAG_Update);
  113.  
  114.                 }
  115.             }
  116.             //for (int i=0;i<10000000;i++);
  117.         }
  118.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement