KE02的库中FTM_EPWM_demo模块中,把FTM2改为FTM0或FTM1会出错!给我的感觉好像是时钟没有联接上似的,一但到读MODE寄存器那步,就发生硬件错误,直接跳到vectors.c中的void default_isr(void); 而且我对比了一下,FTM2的时钟开启后MODE中的写保护位就会置位,但FTM0与FTM1就不会。是否还有哪里有什么寄存器我没有设置到?在数据手册中我也没找到别的什么寄存器了!
另外,我肯定不是中断向量没有连接的问题,我把中断向量连接上了,而且还没有运行到开中断的时候。
补充:我在FTM2初始化前,即FTM2的时钟使能之前,加了一个读FTM2的MODE寄存器的语句,结果执行完这条语句之后现像与FTM0、FTM1的情况一样,所以我确定是初始化函数FTM_PWMInit中的SIM->SCGC |= SIM_SCGC_FTM0_MASK;语句没有完全打开FTM0的时钟。
|