网站大量收购独家精品文档,联系QQ:2885784924

PWM就是1组某个频率有占空比的方波.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PWM就是1组某个频率有占空比的方波

PWM就是一组某个频率有占空比的方波,使用stm32的定时器产生PWM输出很容易,只需要计算好方波频率,占空比,配置定时器和IO就可以。 例如以定时器3的第三个通道作为PWM的输出管脚,输出占空比为50%的PWM方波。先配置管脚PB.0(切记要打开相应的外设时钟) ///GPIO配置 void GPIO_Configuration(void) { /*PWM输出管脚 TIM3 通道3 */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz; GPIO_Init(GPIOB, GPIO_InitStructure); } ///**定时器初始化 分为2步,定时器的基本配置和PWM模式配置*/ uint16_t CCR3_Val = 500; void TIMER_INT() { TIM_TimeBaseStructure.TIM_Prescaler = 0x1c1f; // 100us 时钟预分频数 时钟频率=72/(时钟预分频+1) TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //模式 向上计数 TIM_TimeBaseStructure.TIM_Period = 999; // 自动重装载寄存器周期的值 即是PWM方波的周期 TIM_TimeBaseStructure.TIM_ClockDivision = 0x0; //时间分割值 TIM_TimeBaseInit(TIM3, TIM_TimeBaseStructure); //PWM配置 配置占空比和通道 TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; //PWM模式 TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;//输出使能 TIM_OCInitStructure.TIM_Pulse = CCR3_Val; //设置占空比 占空比=CCR3_Val/(TIM_Period +1)=50% TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; //比较输出极性 TIM_OC3Init(TIM3, TIM_OCInitStructure); //配置通道3 TIM_OC3PreloADConfig(TIM3, TIM_OCPreload_Enable); //使能 TIMx在 CCR3 上的预装载寄存器 TIM_ARRPreloadConfig(TIM3, ENABLE);//使能TIMx在 ARR 上的预装载寄存器 TIM_Cmd(TIM3, ENABLE); //打开定时器3 } 由以上配置可以看出,PWM的周期其实就是定时器定时的时间,TIM_OCInitStructure.TIM_Pulse就是占空比参数,通过占空比=TIM_Pulse/(TIM_Period+1),我们可以得到对应占空比参数。 经过分析和研究,决定采用TIM2产生1M方波,采用TIM3产生1K方波,具体的思路、方法和具体计算与主要的配置如下: 1。系统采用8M外部晶体产生的时钟,(不使用PLL) 2。AHB和APB1的分频系数都是1,时钟为8M。APB1可以提供TIM2、TIM3、TIM4作为计数时钟,本例中只将APB1作为TIM2的计数时钟:8M 3。TIM2使用8M的APB1作为计数时钟,TIM2的预分频器为1分频,采用通道4比较匹配,触发取反输出TIM2_OC4(在PA3脚)。 4。TIM2的重载寄存器为3(4分频),C4通道比较寄存器为3 5。TIM2设置为主定时器,比较相等事件产生触发时钟(2M),作为TIM3的计数时钟 6。TIM3使用TIM2比较相等事件产生的触发时钟2M作为计数时钟,TIM3的预分频器为1分频,采用通道1比较匹配,PWM方式1工作,输出TIM3_OC1(在PA6脚)。 7。TIM3的重载寄存器为1999(2000分频),C1通道比较寄存器为1000 8。TIM3设置为副定时器,采用TIM2比较

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档