本帖最后由 FSL_FAE_REMI 于 2014-7-24 11:52 编辑  
 
         FTM模块(The FlexTimer module)的主要功能有输入捕捉、输出比较和产生PWM信号来驱动电机和进行能量管理。 
        本实验主要是通过FTM模块的计数器功能,分别对FTM2模块的0,1,2,3四个通道的FTM2_CnV寄存器设置不同的输出匹配的值,分别为15400(100ms) 、30800(200ms)、46200(300ms)、 61600(400ms)。当计数器上升计数到与对应的FTM2_CnV寄存器的设定值相等时,对应通道上产生一次中断。然后通过中断,对通道的引脚电平进行翻转,计数器重新计数。这样相当于产生了四个不同周期的PWM信号来控制KEA128开发板上的4个LED灯的点亮与熄灭。 芯片引脚与LED电路如下图所示。 
 
 
 
 
 
设置FTM2_CnV寄存器的值代码如下: 在main.c文件中: FTM_Init();                                                                       /* Initialize the FTM module */      FTM_SetPeriod(0, 15400); /* Interrupt every 15400 counts,  equal to every 100 ms */                                                                FTM_SetPeriod(1, 30800); /* Interrupt every 30800 counts,  equal to every 200 ms */                                        FTM_SetPeriod(2, 46200); /* Interrupt every 46200 counts,  equal to every 300 ms */                                                    FTM_SetPeriod(3, 61600); /* Interrupt every 61600 counts, equal to every  400 ms */ 在FTM.c文件中: void FTM_SetPeriod(UINT8 ch, UINT32 per) {      period[ch] = per;      FTM2_C0V = FTM_CnV_VAL(period[0]) ;      FTM2_C1V = FTM_CnV_VAL(period[1]) ;          FTM2_C2V = FTM_CnV_VAL(period[2]) ;      FTM2_C3V = FTM_CnV_VAL(period[3]); } 其中:FTM_CnV_VAL为赋值函数,其设定可以在SKEAZ1284.h文件中查询含义。 
 
  
引脚电平跳变的代码如下:
 在main.c文件中: void FTM_Interrupt(UINT8 ch) {                  switch(ch)                  {                  case 0:                              LED0_TOGGLE;                  break;                  case 1:                              LED1_TOGGLE;                           break;                  case 2:                              LED2_TOGGLE;                           break;                  case 3:                              LED3_TOGGLE;                           break;                  } } 在GPIO.h文件中: #define OUTPUT_TOGGLE(port,register_num)   XOUTPUT_TOGGLE(port,register_num) #define XOUTPUT_TOGGLE(port,register_num)    GPIO##port##_PTOR|=1<<register_num 
 
 
TRK-KEA128_LABTS2.zip
(343.24 KB, 下载次数: 150)
 
       
 
 
 
  
 |