久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1360|回復: 1
打印 上一主題 下一主題
收起左側(cè)

bsp_pwm_output

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:583158 發(fā)表于 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 重新計數(shù)
  29. *                    TIMx_CCR(電平發(fā)生變化)
  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計數(shù)到999,即為1000次,為一個定時周期
  50.   TIM_TimeBaseStructure.TIM_Prescaler = 0;            //設置預分頻:不預分頻,即為72MHz
  51.   TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1 ;        //設置時鐘分頻系數(shù):不分頻(這里用不到)
  52.   TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //向上計數(shù)模式
  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;           //設置跳變值,當計數(shù)器計數(shù)到這個值時,電平發(fā)生跳變
  58.   TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;  //當定時器計數(shù)值小于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信號初始化,只要調(diào)用這個函數(shù)
  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, 下載次數(shù): 3, 下載積分: 黑幣 -5

評分

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

查看全部評分

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

使用道具 舉報

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

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久精品国产精品青草 | 成人在线免费视频 | 国产高清在线精品一区二区三区 | 亚洲高清在线免费观看 | 欧美视频成人 | 99re热精品视频 | 黄色欧美 | av网站免费看 | av网站在线看 | 国产一区二区中文字幕 | av在线播放网站 | 日韩视频国产 | 国产高清久久 | 日韩av一区在线观看 | 亚洲网站免费看 | 人人看人人射 | 日本一道本视频 | 男人的天堂在线视频 | 91精品国产91久久久久青草 | 日韩欧美视频 | 中文字幕亚洲一区 | 精品美女视频在线观看免费软件 | 精品视频导航 | 国产一区二区电影网 | 久久成人精品一区二区三区 | 国产午夜视频 | 亚洲精品视频在线观看免费 | 日本激情视频中文字幕 | 男女视频免费 | 婷婷综合在线 | 国产午夜精品久久久 | 亚洲国产精品第一区二区 | 国产一区二区三区在线 | 国产欧美一级二级三级在线视频 | 亚洲午夜精品在线观看 | 91人人看 | 国产欧美精品区一区二区三区 | 欧美一区二区三区大片 | 国产精品污www一区二区三区 | 久久国产精品一区二区三区 | 青青草华人在线视频 |