您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ HAL_TIM_PWM_Init函数代码示例

51自学网 2021-06-01 21:22:01
  C++
这篇教程C++ HAL_TIM_PWM_Init函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中HAL_TIM_PWM_Init函数的典型用法代码示例。如果您正苦于以下问题:C++ HAL_TIM_PWM_Init函数的具体用法?C++ HAL_TIM_PWM_Init怎么用?C++ HAL_TIM_PWM_Init使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了HAL_TIM_PWM_Init函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: main

/**  * @brief  Main program  * @param  None  * @retval None  */int main(void){  /* STM32F4xx HAL library initialization:       - Configure the Flash prefetch, instruction and Data caches       - Configure the Systick to generate an interrupt each 1 msec       - Set NVIC Group Priority to 4       - Global MSP (MCU Support Package) initialization     */  HAL_Init();    /* Configure the system clock to 180 Mhz */  SystemClock_Config();  /* Configure LED3 */  BSP_LED_Init(LED3);  /* Compute the prescaler value to have TIM1 counter clock equal to 18 MHz */  uwPrescalerValue = (uint32_t) (SystemCoreClock  / 18000000) - 1;    /*##-1- Configure the TIM peripheral #######################################*/   /* Initialize TIM peripheral as follow:       + Prescaler = SystemCoreClock/18000000       + Period = 1799  (to have an output frequency equal to 10 KHz)       + ClockDivision = 0       + Counter direction = Up  */  /* Select the Timer instance */  TimHandle.Instance = TIM1;    TimHandle.Init.Prescaler     = uwPrescalerValue;  TimHandle.Init.Period        = PERIOD_VALUE;  TimHandle.Init.ClockDivision = 0;  TimHandle.Init.CounterMode   = TIM_COUNTERMODE_UP;  if(HAL_TIM_PWM_Init(&TimHandle) != HAL_OK)  {    /* Initialization Error */    Error_Handler();  }    /*##-2- Configure the PWM channels #########################################*/   /* Common configuration for all channels */  sPWMConfig.OCMode       = TIM_OCMODE_PWM1;  sPWMConfig.OCPolarity   = TIM_OCPOLARITY_HIGH;  sPWMConfig.OCNPolarity  = TIM_OCNPOLARITY_HIGH;  sPWMConfig.OCIdleState  = TIM_OCIDLESTATE_SET;  sPWMConfig.OCNIdleState = TIM_OCNIDLESTATE_RESET;    /* Set the pulse value for channel 1 */  sPWMConfig.Pulse = PULSE1_VALUE;    if(HAL_TIM_PWM_ConfigChannel(&TimHandle, &sPWMConfig, TIM_CHANNEL_1) != HAL_OK)  {    /* Configuration Error */    Error_Handler();  }    /* Set the pulse value for channel 2 */  sPWMConfig.Pulse = PULSE2_VALUE;  if(HAL_TIM_PWM_ConfigChannel(&TimHandle, &sPWMConfig, TIM_CHANNEL_2) != HAL_OK)  {    /* Configuration Error */    Error_Handler();  }    /* Set the pulse value for channel 3 */  sPWMConfig.Pulse = PULSE3_VALUE;  if(HAL_TIM_PWM_ConfigChannel(&TimHandle, &sPWMConfig, TIM_CHANNEL_3) != HAL_OK)  {    /* Configuration Error */    Error_Handler();  }    /* Set the Break feature & Dead time */  sBreakConfig.BreakState       = TIM_BREAK_ENABLE;  sBreakConfig.DeadTime         = 11;  sBreakConfig.OffStateRunMode  = TIM_OSSR_ENABLE;  sBreakConfig.OffStateIDLEMode = TIM_OSSI_ENABLE;  sBreakConfig.LockLevel        = TIM_LOCKLEVEL_1;    sBreakConfig.BreakPolarity    = TIM_BREAKPOLARITY_HIGH;  sBreakConfig.AutomaticOutput  = TIM_AUTOMATICOUTPUT_ENABLE;    if(HAL_TIMEx_ConfigBreakDeadTime(&TimHandle, &sBreakConfig) != HAL_OK)  {    /* Configuration Error */    Error_Handler();  }    /*##-3- Start PWM signals generation #######################################*/   /* Start channel 1 */  if(HAL_TIM_PWM_Start(&TimHandle, TIM_CHANNEL_1) != HAL_OK)  {    /* Starting Error */    Error_Handler();  }  /* Start channel 1N *///.........这里部分代码省略.........
开发者ID:EarnestHein89,项目名称:STM32Cube_FW_F4,代码行数:101,


示例2: SC_TIM4_Init

/* TIM4 init function */void SC_TIM4_Init(SERVO_CONTROLLER_Frequency frequency){  TIM_ClockConfigTypeDef sClockSourceConfig;  TIM_MasterConfigTypeDef sMasterConfig;  TIM_OC_InitTypeDef sConfigOC;  htim4.Instance = TIM4;  htim4.Init.Prescaler = CORE_FCLK / TIM_FCLK - 1;;  htim4.Init.CounterMode = TIM_COUNTERMODE_UP;  htim4.Init.Period = (uint16_t)(TIM_FCLK / frequency);   //should not exceed 0xFFFF  htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;  HAL_TIM_Base_Init(&htim4);  sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;  HAL_TIM_ConfigClockSource(&htim4, &sClockSourceConfig);  HAL_TIM_PWM_Init(&htim4);  sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;  sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;  HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig);  sConfigOC.OCMode = TIM_OCMODE_PWM1;  sConfigOC.Pulse = 0;  sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;  sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;  HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_1);  HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_2);  HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_3);  HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_4);}
开发者ID:itsergeyla,项目名称:Quadruped,代码行数:37,


示例3: MX_TIM2_Init

/* TIM2 init function */void MX_TIM2_Init(void){  TIM_ClockConfigTypeDef sClockSourceConfig;  TIM_MasterConfigTypeDef sMasterConfig;  TIM_OC_InitTypeDef sConfigOC;  htim2.Instance = TIM2;  htim2.Init.Prescaler = 24;  htim2.Init.CounterMode = TIM_COUNTERMODE_UP;  htim2.Init.Period = 200;  htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;  HAL_TIM_Base_Init(&htim2);  sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;  HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig);  HAL_TIM_PWM_Init(&htim2);  sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;  sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;  HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig);  sConfigOC.OCMode = TIM_OCMODE_PWM1;  sConfigOC.Pulse = 0;  sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;  sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;  HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_1);  HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_2);  HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_3);  HAL_TIM_MspPostInit(&htim2);}
开发者ID:bens-unit01,项目名称:stm32-tests,代码行数:37,


示例4: MX_TIM4_Init

/* TIM4 init function */void MX_TIM4_Init(void){  TIM_OC_InitTypeDef sConfigOC;  TIM_MasterConfigTypeDef sMasterConfig;  htim4.Instance = TIM4;  htim4.Init.Prescaler = 1800;  htim4.Init.CounterMode = TIM_COUNTERMODE_UP;  htim4.Init.Period = 10;  htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;  HAL_TIM_PWM_Init(&htim4);  sConfigOC.OCMode = TIM_OCMODE_PWM1;  sConfigOC.Pulse = 5;  sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;  sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;  HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_4);  sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;  sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;  HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig);}
开发者ID:BGCX261,项目名称:zhonx3-svn-to-git,代码行数:25,


示例5: pwmout_period_us

void pwmout_period_us(pwmout_t* obj, int us){    TimHandle.Instance = (TIM_TypeDef *)(obj->pwm);    float dc = pwmout_read(obj);    __HAL_TIM_DISABLE(&TimHandle);    SystemCoreClockUpdate();    TimHandle.Init.Period        = us - 1;    TimHandle.Init.Prescaler     = (uint16_t)(SystemCoreClock / 1000000) - 1; // 1 us tick    TimHandle.Init.ClockDivision = 0;    TimHandle.Init.CounterMode   = TIM_COUNTERMODE_UP;    HAL_TIM_PWM_Init(&TimHandle);    // Set duty cycle again    pwmout_write(obj, dc);    // Save for future use    obj->period = us;    __HAL_TIM_ENABLE(&TimHandle);}
开发者ID:utemkin,项目名称:mbed,代码行数:24,


示例6: Time3Enable

void Time3Enable(unsigned int timvalue){	 uwPrescalerValue = ((SystemCoreClock ) / 16000000) - 1;	 TimHandle.Instance = TIM3;    TimHandle.Init.Prescaler     = uwPrescalerValue;  TimHandle.Init.Period        = 600;  TimHandle.Init.ClockDivision = 0;  TimHandle.Init.CounterMode   = TIM_COUNTERMODE_UP;  if(HAL_TIM_PWM_Init(&TimHandle) != HAL_OK)  {    /* Initialization Error */    Error_Handler();  }    /*##-2- Configure the PWM channels #########################################*/   /* Common configuration for all channels */  sConfig.OCMode     = TIM_OCMODE_PWM1;  sConfig.OCPolarity = TIM_OCPOLARITY_HIGH;  sConfig.OCFastMode = TIM_OCFAST_DISABLE;		/* Set the pulse value for channel 3 */  sConfig.Pulse = timvalue;  if(HAL_TIM_PWM_ConfigChannel(&TimHandle, &sConfig, TIM_CHANNEL_3) != HAL_OK)  {    /* Configuration Error */    Error_Handler();  }	/* Start channel 3 */  if(HAL_TIM_PWM_Start(&TimHandle, TIM_CHANNEL_3) != HAL_OK)  {    /* Starting Error */    Error_Handler();  }	}
开发者ID:dongkc,项目名称:cleaner,代码行数:36,


示例7: main

/**  * @brief  Main program.  * @param  None  * @retval None  */int main(void){  /* STM32F3xx HAL library initialization:       - Configure the Flash prefetch       - Systick timer is configured by default as source of time base, but user          can eventually implement his proper time base source (a general purpose          timer for example or other time source), keeping in mind that Time base          duration should be kept 1ms since PPP_TIMEOUT_VALUEs are defined and          handled in milliseconds basis.       - Set NVIC Group Priority to 4       - Low Level Initialization     */  HAL_Init();  /* Configure LED3 */  BSP_LED_Init(LED3);  /* Configure the system clock to have a system clock = 72 Mhz */  SystemClock_Config();  /* Compute the value of ARR regiter to generate signal frequency at 17.57 Khz */  uhTimerPeriod = (uint32_t) ((SystemCoreClock / 17570 ) - 1);  /* Compute CCR1 value to generate a duty cycle at 75% */  aCCValue_Buffer[0] = (uint32_t)(((uint32_t) 75 * (uhTimerPeriod - 1)) / 100);  /* Compute CCR2 value to generate a duty cycle at 50% */  aCCValue_Buffer[1] = (uint32_t)(((uint32_t) 50 * (uhTimerPeriod - 1)) / 100);  /* Compute CCR3 value to generate a duty cycle at 25% */  aCCValue_Buffer[2] = (uint32_t)(((uint32_t) 25 * (uhTimerPeriod - 1)) / 100);      /*##-1- Configure the TIM peripheral #######################################*/   /* ---------------------------------------------------------------------------     TIM1 input clock (TIM1CLK) is set to APB2 clock (PCLK2), since APB2     prescaler is 1.       TIM1CLK = PCLK2      PCLK2 = HCLK    => TIM1CLK = HCLK = SystemCoreClock    TIM1CLK = SystemCoreClock, Prescaler = 0, TIM1 counter clock = SystemCoreClock  SystemCoreClock is set to 72 MHz for STM32F3xx devices.  The objective is to configure TIM1 channel 2 to generate complementary PWM  signal with a frequency equal to 17.57 KHz:     - TIM1_Period = (SystemCoreClock / 17570) - 1  and a variable duty cycle that is changed by the DMA after a specific number of  Update DMA request.  The number of this repetitive requests is defined by the TIM1 Repetion counter,  each 4 Update Requests, the TIM1 Channel 2 Duty Cycle changes to the next new   value defined by the aCCValue_Buffer.      Note:      SystemCoreClock variable holds HCLK frequency and is defined in system_stm32f3xx.c file.     Each time the core clock (HCLK) changes, user had to update SystemCoreClock      variable value. Otherwise, any configuration based on this variable will be incorrect.     This variable is updated in three ways:      1) by calling CMSIS function SystemCoreClockUpdate()      2) by calling HAL API function HAL_RCC_GetSysClockFreq()      3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency       -----------------------------------------------------------------------------*/  /* Initialize TIM1 peripheral as follows:      + Period = TimerPeriod (To have an output frequency equal to 17.570 KHz)      + Repetition Counter = 3      + Prescaler = 0      + ClockDivision = 0      + Counter direction = Up  */  TimHandle.Instance = TIMx;    TimHandle.Init.Period            = uhTimerPeriod;  TimHandle.Init.RepetitionCounter = 3;  TimHandle.Init.Prescaler         = 0;  TimHandle.Init.ClockDivision     = 0;  TimHandle.Init.CounterMode       = TIM_COUNTERMODE_UP;  if(HAL_TIM_PWM_Init(&TimHandle) != HAL_OK)  {    /* Initialization Error */    Error_Handler();  }  /*##-2- Configure the PWM channel 2 ########################################*/   sConfig.OCMode     = TIM_OCMODE_PWM1;  sConfig.OCPolarity = TIM_OCPOLARITY_HIGH;  sConfig.Pulse      = aCCValue_Buffer[0];  if(HAL_TIM_PWM_ConfigChannel(&TimHandle, &sConfig, TIM_CHANNEL_2) != HAL_OK)  {    /* Configuration Error */    Error_Handler();  }  /*##-3- Start PWM signal generation in DMA mode ############################*/   if(HAL_TIM_PWM_Start_DMA(&TimHandle, TIM_CHANNEL_2, aCCValue_Buffer, 3) != HAL_OK)  {    /* Starting PWM generation Error *///.........这里部分代码省略.........
开发者ID:eleciawhite,项目名称:STM32Cube,代码行数:101,


示例8: ultrasound

void ultrasound (uint8_t bridge){				//ez a fv egyszerre csak egy hidat hajt meg!		uint16_t i,old_i,temp_i,f;	uint32_t CH1,CH2,CHx,CHy,tim,tim_now;		//bridge1=0,bridge2=1-> hogy melyik hidat hajtsa meg 	if(bridge){						//bridge1		CH1=(uint32_t)TIM_CHANNEL_1;		CH2=(uint32_t)TIM_CHANNEL_2;		CHx=(uint32_t)TIM_CHANNEL_3;		CHy=(uint32_t)TIM_CHANNEL_4;	}else{								//bridge2		CH1=(uint32_t)TIM_CHANNEL_3;		CH2=(uint32_t)TIM_CHANNEL_4;		CHx=(uint32_t)TIM_CHANNEL_1;		CHy=(uint32_t)TIM_CHANNEL_2;	}			SystemClock_Config_48MHz();	HAL_Delay(20);	MX_TIM3_Init();	HAL_TIM_PWM_Init(&htim3);			sConfigOC.OCMode = TIM_OCMODE_PWM1;  sConfigOC.Pulse = 0;  sConfigOC.OCPolarity = TIM_OCPOLARITY_LOW;  sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;			HAL_TIM_PWM_ConfigChannel( &htim3 , &sConfigOC , CH1);	  sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;			HAL_TIM_PWM_ConfigChannel( &htim3 , &sConfigOC , CH2);			HAL_TIM_PWM_ConfigChannel( &htim3 , &sConfigOC , CHx);			HAL_TIM_PWM_ConfigChannel( &htim3 , &sConfigOC , CHy);			HAL_TIM_PWM_Start(&htim3, CH1);			HAL_TIM_PWM_Start(&htim3, CH2);			HAL_TIM_PWM_Start(&htim3, CHx);			HAL_TIM_PWM_Start(&htim3, CHy);	//csattanás cs
C++ HAL_TIM_PWM_Start函数代码示例
C++ HAL_TIM_PWM_ConfigChannel函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。