OpenEdv-开源电子网

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

用TIM1产生PWM 无波形输出 仿真器TIM1->CCR1一直是初始值不变且不为0(占空比在变的情况下)

[复制链接]

2

主题

5

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2014-5-28
在线时间
1 小时
发表于 2014-6-22 21:37:42 | 显示全部楼层 |阅读模式
5金钱
[mw_shl_code=c,true]void Timer1_configuration() { GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeDef TIM1_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; TIM_DeInit(TIM1); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA| RCC_APB2Periph_AFIO|RCC_APB2Periph_TIM1, ENABLE); //****** TIM1 CH1(PA8) ****************************** GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8|GPIO_Pin_11; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //???????ê???? GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); TIM1_TimeBaseStructure.TIM_Period = 7200-1; // 0xFFFF; ???????? !@#$%^&*()~ TIM1_TimeBaseStructure.TIM_Prescaler = 10-1; //0xF; ·??? TIM1_TimeBaseStructure.TIM_ClockDivision = 0x0; TIM1_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM1_TimeBaseStructure.TIM_RepetitionCounter= 0x00; //?è?????????????÷??;RCR?ò???????÷??????????0???á?ú?ú !@#$%^&*()~ //?????ü?????????????÷??????RCR???¨N?©????????????????? TIM_TimeBaseInit(TIM1,&TIM1_TimeBaseStructure); // ????×????±??????72MHz,????=72M/(36000-1+1)/1000 TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable; TIM_OCInitStructure.TIM_Pulse = 4000; TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; //TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_Low; //TIM_OCInitStructure.TIM_OCIdleState=TIM_OCIdleState_Reset; //TIM_OCInitStructure.TIM_OCNIdleState=TIM_OCNIdleState_Reset; TIM_OC1Init(TIM1,&TIM_OCInitStructure); //TIM_OC4Init(TIM1,&TIM_OCInitStructure); TIM_OC1PreloadConfig(TIM1, TIM_OCPreload_Enable); // TIM_OC4PreloadConfig(TIM1, TIM_OCPreload_Enable); TIM_ARRPreloadConfig(TIM1, ENABLE); TIM_Cmd(TIM1,ENABLE); TIM_CtrlPWMOutputs(TIM1,ENABLE); } [/mw_shl_code]

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-6-23 00:35:38 | 显示全部楼层
CCR1为什么要变?
建议楼主好好再看看PWM的原理。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2014-6-23 00:42:14 | 显示全部楼层
你的CCR1没有写值吧。CCR1不写值你的占空比肯定变不了的吧。 用TIM_SetCompare2(TIM_TypeDef* TIMx, uint16_t Compare2)赋个占空比试试
开往春天的手扶拖拉机
回复

使用道具 举报

2

主题

5

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2014-5-28
在线时间
1 小时
 楼主| 发表于 2014-6-23 21:00:05 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
我是用来改变输出的脉宽啊
回复

使用道具 举报

2

主题

5

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2014-5-28
在线时间
1 小时
 楼主| 发表于 2014-6-23 21:00:49 | 显示全部楼层
回复【3楼】zuozhongkai:
---------------------------------
我就是用这函数改占空比...
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-6-23 22:08:40 | 显示全部楼层
回复【4楼】静心潜力:
---------------------------------
你都没地方修改CCR1的值,何来改变只说?
所以你的一直是0,我认为是运行正常的表现。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

16

主题

85

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
331
金钱
331
注册时间
2013-12-18
在线时间
64 小时
发表于 2017-3-28 14:53:25 | 显示全部楼层
请问下,CCR1的值需要减1吧
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-8-22 17:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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