K60 FTM定时器 定时中断
尝试多次无论如何设置mod寄存器都无法实现 CNTIN→MOD 向上计数,本程序采用自由计数模式,由CNTIN开始计数直到CNT==0xffff,硬件自动重置CNT=CNTIN。除此之外还应在中断向量表中设置中断函数,中断号 78 - 16 + ftmn ,中断函数中应清除相应的STATUS寄存器和TOF标志位来清除中断标志。 频率计算,只能慢慢试了。
/*************************************************************************
* 桂林电子科技大学嵌入式基地
*
* 函数名称:FTM_Timer_init
* 功能说明:定时溢出中断始化函数
* 参数说明:ftmn freq-定时器初值 ps-时钟分频 1 2 6 8....
* 函数返回:无
* 修改时间:2018-4-26
* 备 注:
*************************************************************************/
void FTM_Timer_init(FTMn ftmn, u16 freq , u8 ps)
{
/******************* 开启时钟 *******************/
SIM_SCGC6 |= SIM_SCGC6_FTM0_MASK; //使能FTM0时钟
/******************** 配置时钟和分频 ********************/
FTM_MODE_REG(FTMx[ftmn]) |= FTM_MODE_WPDIS_MASK ; //写保护禁止
FTM_QDCTRL_REG(FTMx[ftmn]) = 0 ;
FTM_SC_REG(FTMx[ftmn]) =