智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 10688|回复: 19
打印 上一主题 下一主题

[分享] 发一个自己配置K60 PWM的子程序....

  [复制链接]

30

主题

473

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
7664

优秀会员奖章活跃会员奖章论坛元老奖章在线王奖章

威望
3608
贡献
1972
兑换币
1478
注册时间
2011-8-3
在线时间
1042 小时
跳转到指定楼层
1#
发表于 2012-11-5 16:55:51 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
//-------------------------------------------------------------------------*
// 文件名: PWM_Init.c                                                      *
// 说  明: PWM_Init构件头文件                              *
//-------------------------------------------------------------------------*
#include "PWM_Init.h"

void PWM_Init(uint32 time0,uint32 time1)
{
  SIM_SCGC5|=SIM_SCGC5_PORTA_MASK; //开启A口 时钟
   //设定 A4 A8 口为PWM 三个输出口
  PORTA_PCR7=PORT_PCR_MUX(3)|PORT_PCR_DSE_MASK;   // PTA7选择了FTM0_CH4功能 | 强驱动使能
  PORTA_PCR8=PORT_PCR_MUX(3)|PORT_PCR_DSE_MASK;  //PTA8  FTM1_CH0 ALT3
   //开启 FTM0 FTM1 FTM2 时钟
   SIM_SCGC6|=SIM_SCGC6_FTM0_MASK;         //开启使能FTM0时钟
   SIM_SCGC6|=SIM_SCGC6_FTM1_MASK;         //开启使能FTM1时钟
   //设定FTM0.1.2选项为输出PWM信号
   FTM0_C4SC|=FTM_CnSC_ELSB_MASK;           
   FTM1_C0SC|=FTM_CnSC_ELSB_MASK;
   FTM0_C4SC&=~FTM_CnSC_ELSA_MASK;
   FTM1_C0SC&=~FTM_CnSC_ELSA_MASK;
   FTM0_C4SC|=FTM_CnSC_MSB_MASK;  
   FTM1_C0SC|=FTM_CnSC_MSB_MASK;   
   //控制选择 选择分频
   FTM0_SC = FTM_SC_CLKS(1) | FTM_SC_PS(5);              // 选择了总线时钟 | 32分频
   FTM1_SC = FTM_SC_CLKS(1) | FTM_SC_PS(0);              // 选择了总线时钟 | 1分频
   //禁用写保护
   FTM0_MODE|=FTM_MODE_WPDIS_MASK;     //禁用FTM0写保护
   FTM1_MODE|=FTM_MODE_WPDIS_MASK;     //禁用FTM1写保护
   //设定使能
   FTM0_MODE&=~1;
   FTM1_MODE&=~1;
   //开启FTM0_CHO FTM1_CH0 FTM2_CHO
   FTM0_OUTMASK=0xef;                     //开启FTM0_CH1
   FTM1_OUTMASK=0xfe;                     //开启FTM1_CH1   
   //不使用链接通道
   FTM0_COMBINE=0;
   FTM1_COMBINE=0;
   //
   FTM0_OUTINIT=0;  
   FTM1_OUTINIT=0;
   //禁止外部触发
   FTM0_EXTTRIG=0;                         //禁止FTM0外部触发
   FTM1_EXTTRIG=0;                         //禁止FTM1外部触发
   //选择输出极性 0为正 1为负
   FTM0_POL=0;                            //选择FTM0输出极性为正
   FTM1_POL=0;                            //选择FTM1输出极性为正
   //关闭正交解码器 设置边沿对齐的PWM
   FTM0_QDCTRL&=~FTM_QDCTRL_QUADEN_MASK;
   FTM1_QDCTRL&=~FTM_QDCTRL_QUADEN_MASK;
   //FTM 反向控制
   FTM0_INVCTRL=0;                         //禁用FTM0反向
   FTM1_INVCTRL=0;                         //禁用FTM1反向
   //
   FTM0_SWOCTRL=0;
   FTM1_SWOCTRL=0;
   //
   FTM0_PWMLOAD=0;
   FTM1_PWMLOAD=0;
   //设定输出值
   FTM0_CNTIN=0;
   FTM1_CNTIN=0;
   //设定周期  周期=MOD - CNTIN + 0x0001
   FTM0_MOD=time0;
   FTM1_MOD=time1;
   //设置占空比  占空比=(CnV-CNTIN)/(MOD - CNTIN + 0x0001)mn n
   
   //设定计数值为0
   FTM0_CNT=0;  
   FTM1_CNT=0;
}

2

主题

350

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2298
威望
1172
贡献
736
兑换币
772
注册时间
2014-7-8
在线时间
195 小时
20#
发表于 2014-10-25 08:39:45 | 只看该作者
回复 支持 反对

使用道具 举报

0

主题

31

帖子

0

精华

高级会员

Rank: 4

积分
773
威望
418
贡献
245
兑换币
276
注册时间
2013-12-16
在线时间
55 小时
19#
发表于 2014-10-2 16:13:51 | 只看该作者
膜拜。
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
234
威望
155
贡献
59
兑换币
33
注册时间
2012-7-4
在线时间
10 小时
毕业学校
诚信院
18#
发表于 2014-3-29 11:13:38 | 只看该作者
非常需要,学习了!
回复 支持 反对

使用道具 举报

26

主题

216

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1524
QQ
威望
759
贡献
411
兑换币
468
注册时间
2013-3-28
在线时间
177 小时
17#
发表于 2014-1-23 10:20:56 | 只看该作者
回复 支持 反对

使用道具 举报

3

主题

18

帖子

0

精华

高级会员

Rank: 4

积分
611
威望
321
贡献
180
兑换币
196
注册时间
2013-4-3
在线时间
55 小时
毕业学校
北工商
16#
发表于 2013-11-18 21:59:34 | 只看该作者
mark
回复 支持 反对

使用道具 举报

28

主题

999

帖子

0

精华

杰出人士

Rank: 12Rank: 12Rank: 12

积分
13356

论坛元老奖章在线王奖章优秀会员奖章活跃会员奖章

威望
2521
贡献
705
兑换币
1631
注册时间
2012-11-24
在线时间
5065 小时
15#
发表于 2013-10-27 11:18:51 | 只看该作者
:):):):):):)
回复 支持 反对

使用道具 举报

25

主题

286

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1273

优秀会员奖章活跃会员奖章

QQ
威望
817
贡献
256
兑换币
297
注册时间
2013-2-24
在线时间
100 小时
14#
发表于 2013-4-25 00:47:21 | 只看该作者
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

注册会员

Rank: 2

积分
125
威望
63
贡献
40
兑换币
39
注册时间
2012-12-26
在线时间
11 小时
毕业学校
吉林大学
13#
发表于 2013-3-9 20:02:12 | 只看该作者
再把PWM_Init.h发上来吧。
回复 支持 反对

使用道具 举报

0

主题

17

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
262
威望
117
贡献
63
兑换币
63
注册时间
2012-11-16
在线时间
41 小时
毕业学校
浙江理工大学
12#
发表于 2013-3-6 18:42:18 | 只看该作者
变成纯农民了 发表于 2013-3-4 15:03
大神,请教下,我要输出K60的pwm波形,我要怎么配置,将波形用引脚输出

先对引脚配置时钟,在配置引脚
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-25 09:40 , Processed in 0.070000 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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