OpenEdv-开源电子网

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

TIM4 CH4通道没有波形输出,请原子大哥麻烦看下我的程序

[复制链接]

5

主题

20

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
267
金钱
267
注册时间
2011-9-15
在线时间
57 小时
发表于 2012-3-22 00:08:41 | 显示全部楼层 |阅读模式

void PWM_GPIO_Config(void)
{
    GPIO_InitTypeDef GPIO_InitStructure_TIM;//GPIO操作结构体
 TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
    TIM_OCInitTypeDef  TIM_OCInitStructure ;

    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB |RCC_APB2Periph_AFIO, ENABLE);

    GPIO_InitStructure_TIM.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7| GPIO_Pin_8| GPIO_Pin_9;
 GPIO_InitStructure_TIM.GPIO_Speed=GPIO_Speed_50MHz;
    GPIO_InitStructure_TIM.GPIO_Mode=GPIO_Mode_AF_PP;
    GPIO_Init(GPIOB, &GPIO_InitStructure_TIM);


 TIM_DeInit(TIM4);//复位TIM4定时器
 TIM_TimeBaseStructure.TIM_Period = 20000; //计数值20000---20ms cycle     
 TIM_TimeBaseStructure.TIM_Prescaler = 72;//分频72    
 TIM_TimeBaseStructure.TIM_ClockDivision = 0x0; // 时钟分割  
 TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //计数方向向上计数
 TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure);
 
 TIM_OC1PreloadConfig(TIM4, TIM_OCPreload_Enable);
 TIM_OC2PreloadConfig(TIM4, TIM_OCPreload_Enable);
 TIM_OC3PreloadConfig(TIM4, TIM_OCPreload_Enable);
 TIM_OC4PreloadConfig(TIM4, TIM_OCPreload_Enable);

 TIM_OCStructInit(&TIM_OCInitStructure);
   
 TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;
 TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
 TIM_OCInitStructure.TIM_Pulse=1500;  //CH1
 TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;
 TIM_OC1Init(TIM4, &TIM_OCInitStructure);

 TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;
 TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
 TIM_OCInitStructure.TIM_Pulse=1500;  //CH2
 TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;
 TIM_OC2Init(TIM4, &TIM_OCInitStructure);

 TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;
 TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
 TIM_OCInitStructure.TIM_Pulse=1500;  //CH3
 TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;
 TIM_OC3Init(TIM4, &TIM_OCInitStructure);

 TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;
 TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
 TIM_OCInitStructure.TIM_Pulse=1500;  //CH4
 TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;
 TIM_OC4Init(TIM4, &TIM_OCInitStructure); 

 TIM_Cmd(TIM4, ENABLE); //开启时钟  
}


 

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-3-22 00:15:43 | 显示全部楼层
我不用库的.
建议你参考我们 的库函数版本的PWM实验.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

5

主题

20

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
267
金钱
267
注册时间
2011-9-15
在线时间
57 小时
 楼主| 发表于 2012-3-22 00:17:56 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
这么晚了还没睡啊,谢谢回复
回复 支持 反对

使用道具 举报

20

主题

562

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
670
金钱
670
注册时间
2012-2-28
在线时间
0 小时
发表于 2012-3-22 12:59:01 | 显示全部楼层
回复【3楼】flex:
---------------------------------
我用TIM4的CH4做过PWM实验,这2,3,4四路定时器都能产生PWM,没问题的,原理都一样,程序只需要改定时器就OK了
努力,前进。
回复 支持 反对

使用道具 举报

5

主题

20

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
267
金钱
267
注册时间
2011-9-15
在线时间
57 小时
 楼主| 发表于 2012-3-23 22:53:21 | 显示全部楼层
回复【4楼】5498折戟沉沙:
---------------------------------
我试过其它定时器,都可以,就是TIM4的CH4不行其它三通道都可以的,不知为什么
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-3-23 23:08:08 | 显示全部楼层
你是软件仿真无波形?还是硬件?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

5

主题

20

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
267
金钱
267
注册时间
2011-9-15
在线时间
57 小时
 楼主| 发表于 2012-3-24 20:39:41 | 显示全部楼层
软硬都没有输出,不知什么原因
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-3-24 20:47:17 | 显示全部楼层
这个就不应该了.你软件仿真的时候,查看一下TIM4 CH4的设置和其他的是不是有不一样的地方吧.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-25 07:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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