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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1302|回復(fù): 1
收起左側(cè)

bsp_pwm_output

[復(fù)制鏈接]
ID:583158 發(fā)表于 2019-7-19 14:30 | 顯示全部樓層 |閱讀模式
  1. #include "bsp_pwm_output.h"

  2. /**
  3.   * @brief  配置TIM3復(fù)用輸出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 重新計(jì)數(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;       //當(dāng)定時器從0計(jì)數(shù)到999,即為1000次,為一個定時周期
  50.   TIM_TimeBaseStructure.TIM_Prescaler = 0;            //設(shè)置預(yù)分頻:不預(yù)分頻,即為72MHz
  51.   TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1 ;        //設(shè)置時鐘分頻系數(shù):不分頻(這里用不到)
  52.   TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //向上計(jì)數(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è)置跳變值,當(dāng)計(jì)數(shù)器計(jì)數(shù)到這個值時,電平發(fā)生跳變
  58.   TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;  //當(dāng)定時器計(jì)數(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;          //設(shè)置通道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**********************/
復(fù)制代碼

PwmOutput.zip

2.27 KB, 下載次數(shù): 3, 下載積分: 黑幣 -5

評分

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

查看全部評分

回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2019-7-20 03:14 | 顯示全部樓層
本帖需要重新編輯補(bǔ)全電路原理圖,源碼,詳細(xì)說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久91精品久久久久久9鸭 | 国产综合久久 | 日韩精品视频在线免费观看 | 黄色一级毛片 | 成人精品鲁一区一区二区 | av影音资源 | 亚洲国产成人精品女人久久久 | 国产精品久久久亚洲 | 国产精彩视频在线观看 | 色橹橹欧美在线观看视频高清 | 99re在线视频精品 | 国产精品一区二区三区四区 | 国产欧美在线视频 | 久久人体| 香蕉一区二区 | 91看片网| 99久久日韩精品免费热麻豆美女 | 网页av| 亚洲a视频 | 国产激情在线 | 一区日韩 | 日韩欧美在线观看 | 美女久久视频 | 欧美精品一区二区三区蜜臀 | 欧美国产精品一区二区 | 在线国产小视频 | 久久久这里都是精品 | av在线电影网站 | 日韩欧美中文字幕在线观看 | 日韩久久综合 | 欧美日韩精品综合 | 欧美一级在线 | 免费久久视频 | 女朋友的闺蜜3韩国三级 | 看一级毛片 | 久久久久久久久99精品 | 麻豆国产精品777777在线 | 欧美精品一区三区 | 久久久www成人免费精品 | 欧美性猛交一区二区三区精品 | 在线观看av网站永久 |