打印
[Kinetis]

请教K10的PWM使用

[复制链接]
1645|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ddc21ic|  楼主 | 2013-10-30 09:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的K10,想在PA4输出,即FTM0_CH1,程序如下,帮忙看看哪里有问题?
示波器没有看到信号,初始化完了,还需要做什么工作吗?谢谢指点

void PWM_Init( void )
{
  PORTA_PCR4 = PORT_PCR_MUX(4);     // 设置引脚A4引脚为FTM0_CH3功能
  SIM_SCGC6 |= SIM_SCGC6_FTM0_MASK; //使能FTM0时钟
  FTM0_MODE |= FTM_MODE_WPDIS_MASK; //写保护禁止

  //设置通道0,工作在左边沿对其PWM模式//MSB=1,ELSB:ELSA=10
  FTM0_C1SC |= FTM_CnSC_ELSB_MASK;//ELSB=1,ELSA=0,左对齐,先高后低
  FTM0_C1SC &= ~FTM_CnSC_ELSA_MASK;
  FTM0_C1SC |= FTM_CnSC_MSB_MASK;//MSB=1,模式选择边沿对齐
  FTM0_SC = 0x0c;//中断禁止,时钟源来自总线时钟48MHz,16分频后得到3MHz,CLKS=01,PS=100,CPWMS=0,递增计数
  FTM0_MODE &= ~1;//FTM0使能
  FTM0_OUTMASK = ~0x02;//通道1输出,屏蔽其它通道
  FTM0_QDCTRL &= ~FTM_QDCTRL_QUADEN_MASK;//禁止正交解码模式
  FTM0_COMBINE = 0;//DECAPEN=0,双边沿捕捉禁止,COMBINE=0,不级联
  FTM0_CNTIN = 0;//FTM0计数器初始值为0
  FTM0_MOD = 29999;//结束值,周期为(MOD-CNTIN+1)*时钟周期=10ms
  FTM0_C1V = 14999;//高电平5ms
  FTM0_CNT = 0;
}
另外,在外面已经把PORTA的时钟打开了.

相关帖子

沙发
黄小俊| | 2013-10-30 13:44 | 只看该作者
不知道。。呵呵

使用特权

评论回复
板凳
springvirus| | 2013-10-30 14:16 | 只看该作者
还没实践,不过看手册,飞思片子对寄存器的设置步骤很多~

使用特权

评论回复
地板
FSL_TICS_Jeremy| | 2013-10-30 14:36 | 只看该作者
楼主有安装CW,使用CW的PE可方便的配置PWM输出功能,可以尝试一下!!

使用特权

评论回复
5
ddc21ic|  楼主 | 2013-10-30 16:53 | 只看该作者
谢谢!
没有安装CW,怎么搞呢

使用特权

评论回复
6
ddc21ic|  楼主 | 2013-10-30 16:56 | 只看该作者
问题已经解决了,是管脚功能选择错误

使用特权

评论回复
7
FSL_TICS_ZJJ| | 2013-10-30 17:54 | 只看该作者
对,PORTA_PCR4 = PORT_PCR_MUX(3); 选择为FTM0_CH1.另外,楼主可以的话,建议装个CW,这样你调模块有问题,可以使用PE生成一个,对着查找错误。CW下载地址:
http://www.freescale.com/webapp/sps/site/homepage.jsp?code=CW_HOME&tid=FSH

使用特权

评论回复
8
motodefy| | 2013-10-30 20:04 | 只看该作者
看样子我也得去装个CW啊····

使用特权

评论回复
9
FSL_TICS_Jeremy| | 2013-10-31 11:38 | 只看该作者
motodefy 发表于 2013-10-30 20:04
看样子我也得去装个CW啊····

建议可以安装,可以体验一下PE带来的编程好处,可以为编程偷点懒哦!!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

211

帖子

2

粉丝