OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4117|回复: 4

pwm波的输出极性不对

[复制链接]

28

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
221
金钱
221
注册时间
2014-9-30
在线时间
0 小时
发表于 2015-9-18 15:03:28 | 显示全部楼层 |阅读模式
5金钱
[mw_shl_code=c,true][/mw_shl_code] [mw_shl_code=c,true] GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure);[/mw_shl_code] [mw_shl_code=c,true] TIM_TimeBaseStructure.TIM_Period = 26 - 1; TIM_TimeBaseStructure.TIM_Prescaler = 72 - 1; TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Down; TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; TIM_OCInitStructure.TIM_Pulse = 13; TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Reset; TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCNIdleState_Reset; TIM_OC3Init(TIM2, &TIM_OCInitStructure); TIM_OC3PreloadConfig(TIM2, TIM_OCPreload_Enable); TIM_ARRPreloadConfig(TIM2, ENABLE); NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = TIM2_PREEM_PRIO; NVIC_InitStructure.NVIC_IRQChannelSubPriority = TIM2_SUB_PRIO; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); TIM_CCxCmd(TIM2, TIM_Channel_3, TIM_CCx_Enable); TIM_Cmd(TIM2, ENABLE);[/mw_shl_code]
我的定时器是这样配置的,但是出来后的pwm波,好像极性不对。



实际情况是A的波形,但是按照这种配置不应该是B的波形吗?

最佳答案

查看完整内容[请看2#楼]

TIMx_CCMR和TIMx_CCER配置才能控制波形的极性:例如CH1中,PWM模式1 - 在向上计数时,一旦TIMx_CNT<TIMx_CCR1 时通道1 为有效电平,否则为 无效电平;在向下计数时,一旦TIMx_CNT>TIMx_CCR1 时通道1 为无效电平(OC1REF=0),否则为有效电平(OC1REF=1)。这其中的有效电平不是指 高电平而是由TIMx_CCER寄存器对应的CC1P位设置的。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

62

帖子

0

精华

高级会员

Rank: 4

积分
788
金钱
788
注册时间
2015-8-21
在线时间
128 小时
发表于 2015-9-18 15:03:29 | 显示全部楼层
TIMx_CCMR和TIMx_CCER配置才能控制波形的极性:例如CH1中,PWM模式1 - 在向上计数时,一旦TIMx_CNT<TIMx_CCR1 时通道1 为有效电平,否则为
无效电平;在向下计数时,一旦TIMx_CNT>TIMx_CCR1 时通道1 为无效电平(OC1REF=0),否则为有效电平(OC1REF=1)。这其中的有效电平不是指
高电平而是由TIMx_CCER寄存器对应的CC1P位设置的。
回复

使用道具 举报

28

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
221
金钱
221
注册时间
2014-9-30
在线时间
0 小时
 楼主| 发表于 2015-9-18 15:04:54 | 显示全部楼层
用的Stm32F103的芯片。
回复

使用道具 举报

28

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
221
金钱
221
注册时间
2014-9-30
在线时间
0 小时
 楼主| 发表于 2015-9-18 16:24:42 | 显示全部楼层
好吧,输出的极性是对的。但是默认是低电平不应该啊
回复

使用道具 举报

28

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
221
金钱
221
注册时间
2014-9-30
在线时间
0 小时
 楼主| 发表于 2015-9-18 16:57:43 | 显示全部楼层
回复【4楼】—孤独¥的风:
---------------------------------
CC1P = 0时,高电平有效
我设置的就是高电平有效。

我只是不知道为什么我设置后,默认的是低电平。就是A那种波形。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-19 09:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表