野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11965|回复: 8

TIM1的Pwm输出问题

[复制链接]
发表于 2013-10-29 22:13:29 | 显示全部楼层 |阅读模式
本帖最后由 山外メ雲ジ 于 2013-10-30 09:09 编辑

大家好!Pwm_out.c文件[code=cpp]static void TIM1_GPIO_Config(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;
/* TIM3 clock enable */
//PCLK1经过2倍频后作为TIM3的时钟源等于72MHz
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);
  /* GPIOA and GPIOB clock enable */
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //  | RCC_APB2Periph_AFIO
  /*GPIOA Configuration: TIM3 channel 1 and 2 as alternate function push-pull */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11;//GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14  
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;      // 复用推挽输出
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
}
static void TIM1_Mode_Config(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;
/*PWM信号电平跳变值*/
u16 CCR1_Val=1250;
u16 CCR2_Val=1250;
u16 CCR3_Val=1250;
u16 CCR4_Val=125;
/*Time base cofiguration*/
//当定时器从0计数到999,即为1000次,为一个定时周期
TIM_TimeBaseStructure.TIM_Period=0x4e1f; //1799
//是指预分频:不预分频,即为36MHz
TIM_TimeBaseStructure.TIM_Prescaler=0x47; //0x0320
//    TIM_TimeBaseStructure.TIM_Prescaler = 0;     //设置预分频:不预分频,即为72MHz
TIM_TimeBaseStructure.TIM_ClockDivision=0;//设置时钟分频系数:不分频   TIM_CKD_DIV4
TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;//向上技术模式
TIM_TimeBaseInit(TIM1,&TIM_TimeBaseStructure);
/*PWM1 Mode configuration:Channel1*/
TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;//配置为PWM模式1
TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;
// TIM_OCInitStructure.TIM_OutputState=TIM_OutputNState_Enable;
//设置跳变值,当计数器计到这个值时,电平发生跳变
TIM_OCInitStructure.TIM_Pulse=CCR1_Val;
//当定时器计数值小于CCR1_Val时为高电平
TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;
// TIM_OCInitStructure.TIM_OCPolarity=TIM_OCNPolarity_High;
TIM_OC1Init(TIM1,&TIM_OCInitStructure);//使能通道1
TIM_OC1PreloadConfig(TIM1,TIM_OCPreload_Enable);
/*PWM2 Mode configuration:Channel2*/
TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;

//设置通道2的电平跳变值,输出另外一个占空比的PWM
TIM_OCInitStructure.TIM_Pulse=CCR2_Val;
TIM_OC2Init(TIM1,&TIM_OCInitStructure);//使能通道2
TIM_OC2PreloadConfig(TIM1,TIM_OCPreload_Enable);
/*PWM3 Mode configuration:Channel3*/
TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;
//设置通道3的电平跳变值,输出另外一个占空比的PWM
TIM_OCInitStructure.TIM_Pulse=CCR3_Val;
TIM_OC3Init(TIM1,&TIM_OCInitStructure);//使能通道3
TIM_OC3PreloadConfig(TIM1,TIM_OCPreload_Enable);
/*PWM4 Mode configuration:Channel4*/
TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;
//设置通道4的电平跳变值,输出另外一个占空比的PWM
TIM_OCInitStructure.TIM_Pulse=CCR4_Val;
TIM_OC4Init(TIM1,&TIM_OCInitStructure);//使能通道4
TIM_OC4PreloadConfig(TIM1,TIM_OCPreload_Enable);
TIM_ARRPreloadConfig(TIM1,ENABLE);
//TIM2 enable counter
TIM_Cmd(TIM1,ENABLE);//使能定时器3
TIM_CtrlPWMOutputs(TIM1, ENABLE);
}[/code]就是这样配置的,用软件仿真完全可以,但是用示波器就只能测出PA11 引脚的波形,调了老长时间了,求高手指点啊
回复

使用道具 举报

发表于 2013-10-29 22:45:24 | 显示全部楼层
配置 复用了没有 ?
回复 支持 反对

使用道具 举报

发表于 2013-10-29 22:46:01 | 显示全部楼层
火哥 的 论坛 ,发帖的时候 有 代码高亮,你直接这样子贴代码,很难看的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-30 07:45:03 | 显示全部楼层
小栋 发表于 2013-10-29 22:46
火哥 的 论坛 ,发帖的时候 有 代码高亮,你直接这样子贴代码,很难看的

你好!其实我当时发帖的时候,也注意到显示不出来文字,重新编辑了好几次,还是显示不出来,本来以为需要等待一段时间才能显示出来,看来应该是你说的  代码高亮  的设置问题,不过我的帖子中,也有其他文字啊,结果我一个字也看不到,你先给我说说怎么把帖子正常的显示出来吧,谢谢了
回复 支持 反对

使用道具 举报

发表于 2013-10-30 09:11:21 | 显示全部楼层
yangyankunlc 发表于 2013-10-30 07:45
你好!其实我当时发帖的时候,也注意到显示不出来文字,重新编辑了好几次,还是显示不出来,本来以为需要 ...

发帖的时候,选择 高级功能,里面有添加代码,代码里选择 C++ 就可以高亮显示
回复 支持 反对

使用道具 举报

发表于 2013-10-30 09:11:40 | 显示全部楼层
代码看不出啥问题,应该是管脚复用(跟开发板上的其他IC连接了)影响到。
回复 支持 反对

使用道具 举报

发表于 2015-7-13 21:17:16 | 显示全部楼层
我写的跟你一样,但是我编译的时候为什么一直提示TIM1_PWM_Init()没有定义。output跟你写的一摸一样啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-25 22:20:54 | 显示全部楼层
张少煌 发表于 2015-7-13 21:17
我写的跟你一样,但是我编译的时候为什么一直提示TIM1_PWM_Init()没有定义。output跟你写的一摸一样啊

时间很长了,TIM1_PWM_Init()未定义应该是你的问题,至于输出的效果的话,我好像没有调好,最后据说是单片机本身设计的问题吧,你再调调,看看能不能调好
回复 支持 反对

使用道具 举报

发表于 2015-8-13 21:34:29 | 显示全部楼层
你好 你的TIM1 PWM解决了吗?我也是输出不对,杂乱无章,程序和你一样的
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-14 14:09 , Processed in 0.096636 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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