void Init_Timer_Capture(void)
{
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB); //使能CCP所在GPIO
SysCtlDelay(2);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF); //使能CCP所在GPIO
SysCtlDelay(2);
GPIOPinTypeTimer(GPIO_PORTB_BASE,GPIO_PIN_6|GPIO_PIN_7); //配置CCP引脚为边沿事件输入,供Timer模块使用
GPIOPinTypeTimer(GPIO_PORTF_BASE,GPIO_PIN_0|GPIO_PIN_1);
SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0); //使能32位定时器0,这一步是使能外设
SysCtlDelay(2); //配置系统外设5个周期内不能访问寄存器,这里延时6个周期
TimerConfigure(TIMER0_BASE,TIMER_CFG_A_CAP_COUNT|TIMER_CFG_B_CAP_COUNT);
// GPIOPinConfigure(GPIO_PB6_T0CCP0|GPIO_PB7_T0CCP1|GPIO_PF1_T0CCP1|GPIO_PF0_T0CCP0);
GPIODirModeSet(GPIO_PORTB_BASE,GPIO_PIN_6|GPIO_PIN_7,GPIO_DIR_MODE_IN);//配置引脚PB6为捕获引脚
GPIODirModeSet(GPIO_PORTF_BASE,GPIO_PIN_0|GPIO_PIN_1,GPIO_DIR_MODE_IN);
GPIOPinConfigure(GPIO_PB6_T0CCP0); //配置引脚PB6为捕获引脚
GPIOPinConfigure(GPIO_PB7_T0CCP1); //配置引脚PB6为捕获引脚
GPIOPinConfigure(GPIO_PF0_T0CCP0); //配置引脚PF0为捕获引脚
GPIOPinConfigure(GPIO_PF1_T0CCP1); //配置引脚PF0为捕获引脚
TimerControlEvent(TIMER0_BASE,TIMER_BOTH,TIMER_EVENT_BOTH_EDGES);
/*配置为16位的边沿捕获增计数*/
TimerLoadSet(TIMER0_BASE,TIMER_BOTH,200);
TimerMatchSet(TIMER0_BASE,TIMER_A,100);//设置匹配值100次
TimerMatchSet(TIMER0_BASE,TIMER_B,20);
IntEnable(INT_TIMER0A); //使能Timer0A总中断
IntEnable(INT_TIMER0B);
TimerIntEnable(TIMER0_BASE,TIMER_CAPB_MATCH);//使能定时器的捕获计数匹配中断
TimerIntEnable(TIMER0_BASE,TIMER_CAPA_MATCH);//使能定时器的捕获计数匹配中断
IntMasterEnable(); //使能处理器中断
TimerEnable(TIMER0_BASE,TIMER_A|TIMER_B); //此句放在最后,因为定时器要先配置后使能计数
}