欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1552|回復: 1
打印 上一主題 下一主題
收起左側

bsp_pwm_output

[復制鏈接]
跳轉到指定樓層
樓主
ID:583158 發表于 2019-7-19 14:30 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. #include "bsp_pwm_output.h"

  2. /**
  3.   * @brief  配置TIM3復用輸出PWM時用到的I/O
  4.   * @param  無
  5.   * @retval 無
  6.   */
  7. static void TIMx_GPIO_Config(void)
  8. {
  9.   GPIO_InitTypeDef GPIO_InitStructure;
  10.    
  11.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB| RCC_APB2Periph_AFIO,ENABLE);
  12.     GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST, ENABLE);  //PB4
  13.     GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3, ENABLE);
  14.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
  15.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  16.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  17.     GPIO_Init(GPIOB, &GPIO_InitStructure);

  18. //  /*GPIOB Configuration: TIM3 channel 2 as alternate function push-pull */
  19. //  GPIO_InitStructure.GPIO_Pin =  macTIM_CH2_PIN;
  20. //  GPIO_Init(macTIM_CH2_PORT, &GPIO_InitStructure);


  21. }

  22. /**
  23.   * @brief  配置TIM3輸出的PWM信號的模式,如周期、極性、占空比
  24.   * @param  無
  25.   * @retval 無
  26.   */
  27. /*
  28. * TIMxCLK/CK_PSC --> TIMxCNT --> TIMx_ARR --> TIMxCNT 重新計數
  29. *                    TIMx_CCR(電平發生變化)
  30. * 信號周期=(TIMx_ARR +1 ) * 時鐘周期
  31. * 占空比=TIMx_CCR/(TIMx_ARR +1)
  32. */
  33. static void TIMx_Mode_Config(void)
  34. {
  35.         TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
  36.         TIM_OCInitTypeDef  TIM_OCInitStructure;

  37.         /* PWM信號電平跳變值 */
  38.         u16 CCR1_Val = 500;        
  39.         u16 CCR2_Val = 0;
  40. //         u16 CCR3_Val = 250;
  41. //         u16 CCR4_Val = 125;

  42. /* -----------------------------------------------------------------------
  43.     macTIMx Channel1 duty cycle = (macTIMx_CCR1/ macTIMx_ARR+1)* 100% = 50%
  44.     macTIMx Channel2 duty cycle = (macTIMx_CCR2/ macTIMx_ARR+1)* 100% = 37.5%
  45.     macTIMx Channel3 duty cycle = (macTIMx_CCR3/ macTIMx_ARR+1)* 100% = 25%
  46.     macTIMx Channel4 duty cycle = (macTIMx_CCR4/ macTIMx_ARR+1)* 100% = 12.5%
  47.   ----------------------------------------------------------------------- */

  48.   /* Time base configuration */                 
  49.   TIM_TimeBaseStructure.TIM_Period = 999;       //當定時器從0計數到999,即為1000次,為一個定時周期
  50.   TIM_TimeBaseStructure.TIM_Prescaler = 0;            //設置預分頻:不預分頻,即為72MHz
  51.   TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1 ;        //設置時鐘分頻系數:不分頻(這里用不到)
  52.   TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //向上計數模式
  53.   TIM_TimeBaseInit(macTIMx, &TIM_TimeBaseStructure);

  54.   /* PWM1 Mode configuration: Channel1 */
  55.   TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;            //配置為PWM模式1
  56.   TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;       
  57.   TIM_OCInitStructure.TIM_Pulse = CCR1_Val;           //設置跳變值,當計數器計數到這個值時,電平發生跳變
  58.   TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;  //當定時器計數值小于CCR1_Val時為高電平
  59.   TIM_OC1Init(macTIMx, &TIM_OCInitStructure);         //使能通道1
  60.   TIM_OC1PreloadConfig(macTIMx, TIM_OCPreload_Enable);

  61. //  /* PWM1 Mode configuration: Channel2 */
  62.   TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
  63.   TIM_OCInitStructure.TIM_Pulse = CCR2_Val;          //設置通道2的電平跳變值,輸出另外一個占空比的PWM
  64.   TIM_OC2Init(macTIMx, &TIM_OCInitStructure);          //使能通道2
  65.   TIM_OC2PreloadConfig(macTIMx, TIM_OCPreload_Enable);


  66.   TIM_ARRPreloadConfig(macTIMx, ENABLE);                         // 使能TIM3重載寄存器ARR

  67.   /* TIM3 enable counter */
  68.   TIM_Cmd(macTIMx, ENABLE);                   //使能定時器3
  69. }

  70. /**
  71.   * @brief  TIM3 輸出PWM信號初始化,只要調用這個函數
  72.   *         TIM3的四個通道就會有PWM信號輸出
  73.   * @param  無
  74.   * @retval 無
  75.   */
  76. void TIMx_PWM_Init(void)
  77. {
  78.         TIMx_GPIO_Config();
  79.         TIMx_Mode_Config();       
  80. }

  81. /*********************************************END OF FILE**********************/
復制代碼

PwmOutput.zip

2.27 KB, 下載次數: 3, 下載積分: 黑幣 -5

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:1 發表于 2019-7-20 03:14 | 只看該作者
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表