OpenEdv-开源电子网

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

TIM3产生4路PWM为什么不行呢??库函数3.5版本,仿真的时候没有点反应

[复制链接]

8

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2013-6-3
在线时间
0 小时
发表于 2013-8-13 14:19:08 | 显示全部楼层 |阅读模式

int main(void)
{  
 RCC_APB1PeriphClockCmd ( RCC_APB1Periph_TIM3,ENABLE); //?ò??TIM3???±??
  RCC_APB2PeriphClockCmd ( RCC_APB2Periph_GPIOB| RCC_APB2Periph_GPIOA| RCC_APB2Periph_AFIO,ENABLE ) ;//  ?ò???±??
 TIM3_PWM_Init();
 while(1)
  {  
   ;
 }  
}

#include "PWM.H"
//------------------------------
//
//TIM3??PWM???????¨??????
//------------------------------------------------------------------
 void TIM_Mode_Config(void )
{ TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
 TIM_OCInitTypeDef TIM_OCInitStructure;
 u16 CCR1_Val=500;u16 CCR2_Val=375;u16 CCR3_Val=250;u16 CCR4_Val=125;
 TIM_TimeBaseStructure.TIM_Period=999;//?¨?±?÷??0??????999?????????¨?±???? 
 TIM_TimeBaseStructure.TIM_Prescaler=0;//?è???¤·????????¤·??? ????36M ?ò???¨?±?÷3????1 
 TIM_TimeBaseStructure.TIM_ClockDivision=0;//?è???±??·????????? ??·???
 TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; //?ò??????????
 TIM_TimeBaseInit(TIM3,&TIM_TimeBaseStructure); //??????
 
 TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;//PWM???????¨??//??????PWM1????
 TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;
 
 TIM_OCInitStructure.TIM_Pulse=CCR1_Val;//?è????±??????±?????÷?????????????±??????·??ú??±?
 TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High; //?±?????÷????????CCR1_Val?±????????
 TIM_OC1Init(TIM3,&TIM_OCInitStructure);//?????¨??1
 TIM_OC1PreloadConfig(TIM3,TIM_OCPreload_Enable);
 
 TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;//?????¨??2
 TIM_OCInitStructure.TIM_Pulse=CCR2_Val; //?è???¨??2????????±???
 TIM_OC2Init(TIM3,&TIM_OCInitStructure); //?????¨??2
 TIM_OC2PreloadConfig(TIM3,TIM_OCPreload_Enable);
 
 TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;//?????¨??3
 TIM_OCInitStructure.TIM_Pulse=CCR3_Val; //?è???¨??3????????±???
 TIM_OC3Init(TIM3,&TIM_OCInitStructure);//?????¨??3
 TIM_OC3PreloadConfig(TIM3,TIM_OCPreload_Enable);
 
 TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;//?????¨??4
 TIM_OCInitStructure.TIM_Pulse=CCR4_Val; //?è???¨??4????????±???
 TIM_OC4Init(TIM3,&TIM_OCInitStructure);//?????¨??4
 TIM_OC4PreloadConfig(TIM3,TIM_OCPreload_Enable);
 
 TIM_ARRPreloadConfig(TIM3,ENABLE);
 TIM_Cmd(TIM3,ENABLE);//?????¨?±?÷3
}


///-----------------------------
//TIM3PWM?¨??????????
//
//----------------------------------------------------------
void TIM3_PWM_GPIOConfig(void)
{
  GPIO_InitTypeDef  GPIO_MyPWM;          //?¨???????????????????á????
  // GPIO_PinRemapConfig(GPIO_FullRemap_TIM3, ENABLE);
 GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3, ENABLE); //Timer3??·???????  TIM3_CH2->B5 
  GPIO_MyPWM.GPIO_Pin   = GPIO_Pin_6|GPIO_Pin_7 ;       //??????????0±?????
  GPIO_MyPWM.GPIO_Mode  = GPIO_Mode_AF_PP;   //??????????±??¨??
  GPIO_MyPWM.GPIO_Speed = GPIO_Speed_50MHz ;  //??????????????±??¨??
  GPIO_Init (GPIOA,&GPIO_MyPWM );        //?÷???á??????????????A??6????
  
  GPIO_MyPWM.GPIO_Pin   = GPIO_Pin_0 |GPIO_Pin_1;       //??????????0±?????
  GPIO_MyPWM.GPIO_Mode  = GPIO_Mode_AF_PP ;   //??????????±??¨??
  GPIO_MyPWM.GPIO_Speed = GPIO_Speed_50MHz ;  //??????????????±??¨??
  GPIO_Init (GPIOB,&GPIO_MyPWM );        //?÷???á??????????????B??0????
 
}
//------------------------------------
//?¨?±?÷3??PWM??????
//
//--------------------------------------------------------
void TIM3_PWM_Init(void)
{  
 TIM3_PWM_GPIOConfig();
 TIM_Mode_Config( );
}


 


 


 

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

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2013-8-13 14:38:15 | 显示全部楼层
参考下吧

2.四路不同占空比PWM.zip

305.8 KB, 下载次数: 256

博观而约取,厚积而薄发。
回复 支持 反对

使用道具 举报

8

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2013-6-3
在线时间
0 小时
 楼主| 发表于 2013-8-13 14:48:22 | 显示全部楼层
回复【2楼】745021926:
参考下吧
---------------------------------
谢谢,我这就下载参考
dd
回复 支持 反对

使用道具 举报

8

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2013-6-3
在线时间
0 小时
 楼主| 发表于 2013-8-13 14:54:53 | 显示全部楼层
回复【2楼】745021926:
---------------------------------
对了,再问下老兄,你这个是不是硬件上跑过了的啊
dd
回复 支持 反对

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2013-8-13 15:06:48 | 显示全部楼层
回复【4楼】冷面狼:
---------------------------------

恩  测试成功
博观而约取,厚积而薄发。
回复 支持 反对

使用道具 举报

8

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2013-6-3
在线时间
0 小时
 楼主| 发表于 2013-8-13 15:28:25 | 显示全部楼层


 我仿真的时候怎么只有一路输出来呢???
dd
回复 支持 反对

使用道具 举报

8

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2013-6-3
在线时间
0 小时
 楼主| 发表于 2013-8-13 15:29:04 | 显示全部楼层
回复【5楼】745021926:
回复【4楼】冷面狼: --------------------------------- 恩  测试成功
---------------------------------
仿真的时候只有一路有输出呢???
dd
回复 支持 反对

使用道具 举报

8

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2013-6-3
在线时间
0 小时
 楼主| 发表于 2013-8-13 15:41:25 | 显示全部楼层
回复【7楼】冷面狼:
---------------------------------
出来啦,出来啦,是我把那个仿真调乱了。谢谢谢谢
dd
回复 支持 反对

使用道具 举报

3

主题

14

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2013-9-14
在线时间
0 小时
发表于 2013-9-23 21:17:21 | 显示全部楼层
回复【2楼】745021926:
----------------------------
你的四路不同占空比PWM实验中PA0对应CH1,PA1对应CH2,PA2对应CH3,PA3对应CH4   这个是对应的复用IO引脚吗?我用的是Mini  stm32的开发板
回复 支持 反对

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2013-9-24 09:49:39 | 显示全部楼层
回复【9楼】hailin_3:
---------------------------------
恩,mini的板子就可以的
博观而约取,厚积而薄发。
回复 支持 反对

使用道具 举报

3

主题

14

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2013-9-14
在线时间
0 小时
发表于 2013-9-24 15:30:36 | 显示全部楼层
回复【10楼】745021926:
---------------------------------
嗯  我用的TIM3的部分重映像,对应的4路为PB0,PB1,PB4,PB5  现在可以了
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-12 13:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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