高级会员
- 积分
- 838
- 威望
- 349
- 贡献
- 437
- 兑换币
- 4
- 注册时间
- 2012-3-2
- 在线时间
- 26 小时
- 毕业学校
- 桂林电子科技大学
|
// FTM2_CH1 捕获 // 用作行中断捕获 B19
void Init_FTM2CH1_Capture(void)
{
// 在最开始添加input filter功能
DisableInterrupts; //关闭总中断
// PTB19选择了FTM2_CH1功能
PORTB_PCR19 = PORT_PCR_MUX(4);
SIM_SCGC3 |= SIM_SCGC3_FTM2_MASK; // 使能FTM2时钟
// 设置FTM2_CH1的功能为捕捉上升沿
FTM2_MODE |= FTM_MODE_WPDIS_MASK; // 去写保护
FTM2_MODE &= ~FTM_MODE_FTMEN_MASK; // 使用基本指令集
// The input capture mode is selected when (DECAPEN = 0), (COMBINE = 0), (CPWMS
// = 0), (MSnB:MSnA = 0:0), and (ELSnB:ELSnA = 1[rising],10[falling]).
// ELSnB:ELSnA = 1:0 for capture falling edges
FTM2_COMBINE &= ~FTM_COMBINE_DECAPEN2_MASK; // DECAPEN=0
FTM2_COMBINE &= ~FTM_COMBINE_COMBINE2_MASK; // COMBINE=0
FTM2_SC &= ~FTM_SC_CPWMS_MASK; // CPWMS=0
FTM2_C1SC &= ~FTM_CnSC_MSB_MASK; // MSB=0
FTM2_C1SC &= ~FTM_CnSC_MSA_MASK; // MSA=0
FTM2_C1SC &= ~FTM_CnSC_ELSB_MASK; // capture rising edges
FTM2_C1SC |= FTM_CnSC_ELSA_MASK;
FTM2_CNTIN = 0x0; // 清FTM2计数器
FTM2_C1SC |= FTM_CnSC_CHIE_MASK; // 使能中断
enable_irq(64); // 启用FTM2中断
uart_sendN (UART4 ,"FTMinit ok" ,8);
EnableInterrupts; //开总中断
}
|
|