OpenEdv-开源电子网

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

stm32f103c8 定时器1配置为比较输出模式,CH1N没有输出?

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2014-5-12
在线时间
0 小时
发表于 2014-5-12 19:58:33 | 显示全部楼层 |阅读模式
5金钱
stm32f103c8 定时器1配置为比较输出模式,CH1-CH4都有输出,但CH1N、CH2N、CH3N没有输出?为什么呢?CH1N在比较模式下能用吗?[/mw_shl_code]
代码:[/mw_shl_code]

void PWM_Configuration(void)
{
   /* TIM1 Configuration ---------------------------------------------------
 定时器1配置:输出四路PWM波形,频率,占空比可调
  ----------------------------------------------------------------------- */
 
 TIM_DeInit(TIM1);
  /* Time Base configuration */
  TIM_TimeBaseStructure.TIM_Prescaler = 4;
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
  TIM_TimeBaseStructure.TIM_Period = 0xffff;
  TIM_TimeBaseStructure.TIM_ClockDivision = 0;
  TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;
  TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);
 
 /* Channel 1 Configuration in PWM mode */
 TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Toggle;        //输出比较模式
 TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;   //正向通道有效
 TIM_OCInitStructure.TIM_OutputNState = TIM_OutputState_Enable;   //反向通道无效
 TIM_OCInitStructure.TIM_Pulse = CCR1_Val;              //占空时间
 TIM_OCInitStructure.TIM_OCPolarity = TIM_OCNPolarity_High;      //输出极性
 TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High;     //互补端的极性
 TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set;
 TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Set;
 TIM_OC1Init(TIM1,&TIM_OCInitStructure);               //通道1
 TIM_OC1PreloadConfig(TIM1, TIM_OCPreload_Disable);
 
 
 TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Toggle;        //输出比较模式
 TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;   //正向通道有效
 TIM_OCInitStructure.TIM_OutputNState = TIM_OutputState_Enable;   //反向通道无效
 TIM_OCInitStructure.TIM_Pulse = CCR2_Val;              //占空时间
 TIM_OCInitStructure.TIM_OCPolarity = TIM_OCNPolarity_High;      //输出极性
 TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High;     //互补端的极性
 TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set;
 TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Set;

 TIM_OC2Init(TIM1,&TIM_OCInitStructure);               //通道2
 TIM_OC2PreloadConfig(TIM1, TIM_OCPreload_Disable);
 
 TIM_OCInitStructure.TIM_Pulse = CCR3_Val;             //占空时间
 TIM_OC3Init(TIM1,&TIM_OCInitStructure);              //通道3
 TIM_OC3PreloadConfig(TIM1, TIM_OCPreload_Disable);
  
 TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Toggle;          //输出比较模式
 TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;   //正向通道有效
 TIM_OCInitStructure.TIM_OutputNState = TIM_OutputState_Disable;   //反向通道无效
 TIM_OCInitStructure.TIM_Pulse = CCR4_Val;              //占空时间
 TIM_OCInitStructure.TIM_OCPolarity = TIM_OCNPolarity_High;      //输出极性
 TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High;     //互补端的极性
 TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set;
 TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Set;
 TIM_OCInitStructure.TIM_Pulse = CCR4_Val;             //占空时间
 TIM_OC4Init(TIM1,&TIM_OCInitStructure);              //通道4
 TIM_OC4PreloadConfig(TIM1, TIM_OCPreload_Disable);
 /* TIM1 counter enable */
 TIM_Cmd(TIM1,ENABLE);
 /* TIM1 Main Output Enable */
 TIM_CtrlPWMOutputs(TIM1,ENABLE);                                  //必须使能此处的PWM输出,否则没有信号
 TIM_ARRPreloadConfig(TIM1, DISABLE);
 TIM_ClearFlag(TIM1, TIM_FLAG_CC1|TIM_FLAG_CC2|TIM_FLAG_CC3|TIM_FLAG_CC4);
 /* TIM IT enable */
 TIM_ITConfig(TIM1, TIM_IT_CC1 | TIM_IT_CC2 | TIM_IT_CC3 | TIM_IT_CC4, ENABLE);
 
}

 [/mw_shl_code]

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

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-5-12 20:18:20 | 显示全部楼层
这个没搞过,仔细看下中文参考手册关于PWM的介绍
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2014-5-12
在线时间
0 小时
 楼主| 发表于 2014-5-14 20:07:15 | 显示全部楼层
回复【2楼】Badu_Space:
---------------------------------
手册上面没有找到类似这个的说明啊
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-5-14 20:28:36 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-8 07:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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