注册 登录
查看: 425|回复: 3

K60FTM

[复制链接]
发表于 2014-2-27 09:20:43 | 显示全部楼层 |阅读模式
FTM0是否可以同时输出八个频率相同但占空比不同的方波?
FTM1是否只能同时捕捉1个正交解码的功能?
来自PC客户端 来自PC客户端
回复

使用道具 举报

发表于 2014-2-27 09:56:17 | 显示全部楼层
是的,FTM0 可以输出频率相同,占空比不同的PWM
FTM1和FTM2 都可以作为正交解码,每个模块只能计数一路
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-27 10:18:11 | 显示全部楼层
这样初始化可以么,如何设置PWM的输出端口?
void ftminit()
{
     FTM0_SC |= FTM_SC_CLKS(1) | FTM_SC_PS(1);
     SIM_SCGC5 |= SIM_SCGC5_PORTC_MASK; //开启C端口时钟
     SIM_SCGC5 |= SIM_SCGC5_PORTD_MASK; //开启D端口时钟
     
     SIM_SCGC6 |= SIM_SCGC6_FTM0_MASK;//开启FTM0模块时钟

     
     FTM0_MOD = 2500; //设置PWM频率为10K
     
     PORTC_PCR1 = PORT_PCR_MUX(4);  // PTC1

     PORTC_PCR2 = PORT_PCR_MUX(4);  // PTC2

     PORTC_PCR3 = PORT_PCR_MUX(4);  // PTC3

     PORTC_PCR4 = PORT_PCR_MUX(4);  // PTC4

     PORTD_PCR4 = PORT_PCR_MUX(4);  // PTD4

     FTM0_C0SC |= FTM_CnSC_MSB_MASK | FTM_CnSC_ELSB_MASK;  //FTM0_CH0
     FTM0_C1SC |= FTM_CnSC_MSB_MASK | FTM_CnSC_ELSB_MASK;  //FTM0_CH1
     FTM0_C2SC |= FTM_CnSC_MSB_MASK | FTM_CnSC_ELSB_MASK;  //FTM0_CH2
     FTM0_C3SC |= FTM_CnSC_MSB_MASK | FTM_CnSC_ELSB_MASK;  //FTM0_CH3
     FTM0_C4SC |= FTM_CnSC_MSB_MASK | FTM_CnSC_ELSB_MASK;  //FTM0_CH4

     FTM0_CNTIN = 0; //设置初始化计数值
     FTM0_CNT = 0; //设置计数初值为0
     FTM0_MOD = 2500; //设置PWM频率为10K

     FTM0_C0V = 0;
     FTM0_C1V = 0;
     FTM0_C2V = 0;
     FTM0_C3V = 0; //设置占空比
     FTM0_C4V = 0;

}
回复 支持 反对

使用道具 举报

发表于 2014-2-27 10:30:33 | 显示全部楼层
Dark_Knight 发表于 2014-2-27 10:18
这样初始化可以么,如何设置PWM的输出端口?
void ftminit()
{

不知道,需要自行验证才知道行不行。
回复 支持 反对

使用道具 举报

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

本版积分规则

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