1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| void GPIO_init(){ SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF); GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3); GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3,GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 );
}
void Timer2AIntHandler(){ unsigned long ulstatus = TimerIntStatus(TIMER2_BASE, TIMER_CAPA_MATCH | TIMER_CAPB_MATCH); TimerIntClear(TIMER2_BASE, ulstatus); t++; if(t%2){ GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3,GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 ); } else{ GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3, 0); } return ; } void GPIO_ccp(){ SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER2); GPIOPinConfigure(GPIO_PF4_T2CCP0); GPIOPinTypeTimer(GPIO_PORTF_BASE, GPIO_PIN_4); GPIOPadConfigSet(GPIO_PORTF_BASE, GPIO_PIN_4, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU); TimerConfigure(TIMER2_BASE, TIMER_CFG_SPLIT_PAIR | TIMER_CFG_A_CAP_COUNT_UP); TimerControlEvent(TIMER2_BASE, TIMER_A, TIMER_EVENT_POS_EDGE); TimerMatchSet(TIMER2_BASE, TIMER_A, 3); TimerIntRegister(TIMER2_BASE, TIMER_A, Timer2AIntHandler); IntMasterEnable(); TimerIntEnable(TIMER2_BASE, TIMER_CAPA_MATCH); IntEnable(INT_TIMER2A); TimerEnable(TIMER2_BASE,TIMER_A); }
|