OpenEdv-开源电子网

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

(已解决)TIM1_CH1N怎么才能输出PWM?要配置TIM1_CH1么?(已解决)

[复制链接]

20

主题

102

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2013-7-17
在线时间
30 小时
发表于 2014-12-5 17:09:42 | 显示全部楼层 |阅读模式
5金钱
是配置TIM1_CH1输出PWM波之后TIM1_CH1N就有互补的PWM波产生了么?
现在引脚领导定了,就是要用PA7输出PWM,怎么办啊?

最佳答案

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

弄好了,,,配置程序如下~~ void TIM1_Mode_Config(uint16_t ADvalue1) {     u16 pulse;     TIM_OCInitTypeDef TIM_OCInitStructure;     GPIO_InitTypeDef GPIO_InitStructure;     TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;     TIM_BDTRInitTypeDef TIM_BDTRInitStructure ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

20

主题

102

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2013-7-17
在线时间
30 小时
 楼主| 发表于 2014-12-5 17:09:43 | 显示全部楼层
弄好了,,,配置程序如下~~
void TIM1_Mode_Config(uint16_t ADvalue1)
{
    u16 pulse;
    TIM_OCInitTypeDef TIM_OCInitStructure;
    GPIO_InitTypeDef GPIO_InitStructure;
    TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
    TIM_BDTRInitTypeDef TIM_BDTRInitStructure;
    
    
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);
    GPIO_PinRemapConfig(GPIO_PartialRemap_TIM1,ENABLE);
    
       GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOA, &GPIO_InitStructure);
    
    pulse = (4295-ADvalue1)/2;
    
    TIM_TimeBaseStructure.TIM_Period    = (4295-ADvalue1);//ARR 10K
    TIM_TimeBaseStructure.TIM_Prescaler = 800;//每计一个数为1us
    TIM_TimeBaseStructure.TIM_ClockDivision     = 0;
    TIM_TimeBaseStructure.TIM_RepetitionCounter = 0x0000;
    TIM_TimeBaseStructure.TIM_CounterMode       = TIM_CounterMode_Up;
    TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);
    
    //TIM_ARRPreloadConfig(TIM1, DISABLE); //预装载寄存器的内容被立即传送到影子寄存器
    
    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 = pulse;//CCR
    TIM_OCInitStructure.TIM_OCPolarity   = TIM_OCPolarity_High;
    TIM_OCInitStructure.TIM_OCNPolarity  = TIM_OCNPolarity_High;
    TIM_OCInitStructure.TIM_OCIdleState  = TIM_OCIdleState_Set;
    TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Reset;
    TIM_OC1Init(TIM1, &TIM_OCInitStructure);
    
    TIM_OC1PreloadConfig(TIM1, TIM_OCPreload_Enable);
    TIM_BDTRInitStructure.TIM_OSSRState = TIM_OSSRState_Enable;
        TIM_BDTRInitStructure.TIM_OSSIState = TIM_OSSIState_Enable;
        TIM_BDTRInitStructure.TIM_LOCKLevel = TIM_LOCKLevel_OFF;
        TIM_BDTRInitStructure.TIM_DeadTime = 0;  //这里调整死区大小0-0xff
        TIM_BDTRInitStructure.TIM_Break = TIM_Break_Disable;
        TIM_BDTRInitStructure.TIM_BreakPolarity = TIM_BreakPolarity_High;
        TIM_BDTRInitStructure.TIM_AutomaticOutput = TIM_AutomaticOutput_Enable;
        TIM_BDTRConfig(TIM1, &TIM_BDTRInitStructure);
    //TIM_OC1NPolarityConfig(TIM1, TIM_OCNPolarity_High);
    //TIM_OC1PolarityConfig(TIM1,TIM_OCPolarity_Low);
    
    //TIM_CCPreloadControl(TIM1, ENABLE);
    TIM_Cmd(TIM1, ENABLE);
    TIM_CtrlPWMOutputs(TIM1, ENABLE);


}
回复

使用道具 举报

39

主题

123

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
399
金钱
399
注册时间
2014-11-7
在线时间
44 小时
发表于 2015-7-13 12:51:51 | 显示全部楼层
回复【2楼】雨思小米粥:
---------------------------------
这个 是 TIM1_CN1N就有 WM输出了么?
再牛逼的梦想都禁不住傻逼的坚持!
回复

使用道具 举报

3

主题

14

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2015-8-5
在线时间
1 小时
发表于 2015-9-28 08:06:45 | 显示全部楼层
楼主,你用的是哪款芯片呢?
回复

使用道具 举报

42

主题

141

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
342
金钱
342
注册时间
2015-5-26
在线时间
49 小时
发表于 2016-6-21 16:44:01 | 显示全部楼层
回复

使用道具 举报

33

主题

310

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
495
金钱
495
注册时间
2016-12-31
在线时间
63 小时
发表于 2017-5-3 15:46:29 | 显示全部楼层
雨思小米粥 发表于 2014-12-5 17:09
弄好了,,,配置程序如下~~
void TIM1_Mode_Config(uint16_t ADvalue1)
{
   &n ...

你好,你这部分的初始化TIM_BDTRConfig(TIM1, &TIM_BDTRInitStructure); 是配置高级定时器一定要用的吗?
回复

使用道具 举报

4

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2018-6-24
在线时间
8 小时
发表于 2018-6-25 17:32:31 | 显示全部楼层
怎么让 TIM1_CH1  和  TIM1_CH1N 分别输出不同占空比的PWM呢?可以独立控制的
回复

使用道具 举报

8

主题

55

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
314
金钱
314
注册时间
2017-1-14
在线时间
48 小时
发表于 2021-8-29 16:29:38 | 显示全部楼层
学习下,可能会遇到
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-1 02:14

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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