OpenEdv-开源电子网

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

STM32请问 pwm输出停下后,引脚状态怎么设置 成“低电平”?

[复制链接]

1

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2015-7-30
在线时间
11 小时
发表于 2016-4-21 20:21:30 | 显示全部楼层 |阅读模式
5金钱
本帖最后由 清泽明溪 于 2016-4-21 22:33 编辑

void TIM2_DC_PWM_Init(u16 arr,u16 psc)
{  
        GPIO_InitTypeDef GPIO_InitStructure;
        TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
        TIM_OCInitTypeDef  TIM_OCInitStructure;
        
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

        
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOA, &GPIO_InitStructure);


        TIM_TimeBaseStructure.TIM_Period = arr;
        TIM_TimeBaseStructure.TIM_Prescaler =psc;
        TIM_TimeBaseStructure.TIM_ClockDivision = 0;
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
        TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);


        TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
        TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
        TIM_OCInitStructure.TIM_Pulse = 0;
        TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
        TIM_OC4Init(TIM2, &TIM_OCInitStructure);  

        TIM_CtrlPWMOutputs(TIM2,ENABLE);        

        TIM_OC4PreloadConfig(TIM2, TIM_OCPreload_Enable);  
        
        TIM_ARRPreloadConfig(TIM2, ENABLE);
        TIM_Cmd(TIM2, ENABLE);  
}

发pwm由定时器 TIM2 (GPIOA,Pin8) 发的;
控制pwm开关时间  由定时器TIM1 中断写的!

QQ截图20160421201915.png

最佳答案

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

高级定时器中有关于输出是高低电平的全部控制方式, 你可以看看STM32的高级定器应用哪一部份, 有详细的明法,及使用方法
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

507

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3347
金钱
3347
注册时间
2013-4-10
在线时间
333 小时
发表于 2016-4-21 20:21:31 | 显示全部楼层
高级定时器中有关于输出是高低电平的全部控制方式, 你可以看看STM32的高级定器应用哪一部份, 有详细的明法,及使用方法
回复

使用道具 举报

28

主题

303

帖子

0

精华

高级会员

Rank: 4

积分
541
金钱
541
注册时间
2014-8-14
在线时间
67 小时
发表于 2016-4-21 20:55:11 | 显示全部楼层
输出停止应该在主函数中的吧!  直接来一个    GPIO_ResetBits(GPIOA,GPIO_Pin_8);  ok了
这个世界上还有很多很多的人,但你不认识他们,他们也不属于你的世界。这个世界上还有很多好吃的好玩的好看的东西,可真正属于你的世界其实是很小的,只是你去过的地方吃过的东西和见过的落日,还有会在乎你死活的朋友。”——《龙族》
回复

使用道具 举报

1

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2015-7-30
在线时间
11 小时
 楼主| 发表于 2016-4-21 21:26:11 | 显示全部楼层
本帖最后由 清泽明溪 于 2016-4-21 21:31 编辑

这里的GPIOA,Pin3 已经定义成TIM2定时器发pwm,TIM2_DC_PWM_Init(1499,11);
TIM2 发pwm 是用的 TIM_SetCompare4(TIM2,800),来操作的;


我想让 pwm 停止后 即:TIM_SetCompare4(TIM2,0),
GPIOA_Pin3 为低电平,然后过一段时间pwm再开启!

回复

使用道具 举报

9

主题

80

帖子

0

精华

初级会员

Rank: 2

积分
192
金钱
192
注册时间
2015-2-9
在线时间
51 小时
发表于 2016-4-21 21:29:40 | 显示全部楼层
将PWM输出比较模式设置成 强制低电平模式
回复

使用道具 举报

1

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2015-7-30
在线时间
11 小时
 楼主| 发表于 2016-4-21 22:04:18 | 显示全部楼层
chijt 发表于 2016-4-21 21:29
将PWM输出比较模式设置成 强制低电平模式

请问你 说的强制比较模式 是这个吗?
TIM_ForcedOC1Config(TIM3, TIM_ForcedAction_InActive);
回复

使用道具 举报

1

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2015-7-30
在线时间
11 小时
 楼主| 发表于 2016-4-21 22:19:37 | 显示全部楼层
李少帅 发表于 2016-4-21 20:55
输出停止应该在主函数中的吧!  直接来一个    GPIO_ResetBits(GPIOA,GPIO_Pin_8);  ok了

按您的方法,在停止后PWM引脚 仿真里面有拉低,
但是实际本子上面F103RC上面,这个引脚GPIOA_Pin3,
接led小灯(GPIOA正极,  负极GND),灯一直亮的!
不该呀!
回复

使用道具 举报

9

主题

80

帖子

0

精华

初级会员

Rank: 2

积分
192
金钱
192
注册时间
2015-2-9
在线时间
51 小时
发表于 2016-4-21 22:36:26 | 显示全部楼层
清泽明溪 发表于 2016-4-21 22:04
请问你 说的强制比较模式 是这个吗?
TIM_ForcedOC1Config(TIM3, TIM_ForcedAction_InActive);

自己试一下就好了
回复

使用道具 举报

28

主题

303

帖子

0

精华

高级会员

Rank: 4

积分
541
金钱
541
注册时间
2014-8-14
在线时间
67 小时
发表于 2016-4-21 22:38:25 | 显示全部楼层
清泽明溪 发表于 2016-4-21 22:19
按您的方法,在停止后PWM引脚 仿真里面有拉低,
但是实际本子上面F103RC上面,这个引脚GPIOA_Pin3,
接l ...

哥  那个是 低电平  导通 看原理图
这个世界上还有很多很多的人,但你不认识他们,他们也不属于你的世界。这个世界上还有很多好吃的好玩的好看的东西,可真正属于你的世界其实是很小的,只是你去过的地方吃过的东西和见过的落日,还有会在乎你死活的朋友。”——《龙族》
回复

使用道具 举报

1

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2015-7-30
在线时间
11 小时
 楼主| 发表于 2016-4-22 09:17:50 | 显示全部楼层
李少帅 发表于 2016-4-21 22:38
哥  那个是 低电平  导通 看原理图

谢谢! 我的led是自己外接的,不是板子上自带的低电平导通!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-10 15:14

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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