void Timer0_Init(void)
{
/*****************°ÑPA0ÉèÖÃΪ²¶»ñÒý½Å*************************/
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0);
GPIOPinTypeGPIOInput(GPIO_PORTA_BASE, GPIO_PIN_0);
GPIOPinConfigure(GPIO_PA0_T0CCP0);
GPIOPinTypeTimer(GPIO_PORTA_BASE, GPIO_PIN_0);
GPIOPadConfigSet(GPIO_PORTA_BASE, GPIO_PIN_0,
GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU);//ÓÐÉÏÀµç×è»òÕßÏÂÀµç×èʱÎÞÐèÅäÖÃÕâ¸ö
TimerConfigure(GPIO_PORTA_BASE, TIMER_CFG_SPLIT_PAIR | TIMER_CFG_A_CAP_COUNT);//¼ÆÊ±²¶»ñģʽ£¬ÉÏÉýÑØ²¶»ñ
TimerControlEvent(TIMER0_BASE,TIMER_A,TIMER_EVENT_POS_EDGE);
TimerMatchSet(TIMER0_BASE,TIMER_A,0);
TimerLoadSet(TIMER0_BASE,TIMER_A,2);
IntEnable(INT_TIMER0A);
// TimerIntEnable(TIMER0_BASE, TIMER_CAPA_EVENT);// ²¶»ñʼþ´¥·¢ÖжÏ
TimerIntEnable(TIMER0_BASE, TIMER_CAPA_MATCH);
IntMasterEnable();
TimerEnable(TIMER0_BASE, TIMER_A);
while(1)//¿ªÊ¼¼ÆÊý£¬µÈ´ýÖжϴ¥·¢
{
}
}
/***************************************
|º¯ÊýÃû³Æ£ºvoid Timer0_IntHandler(void)
|¹¦ÄÜ£º´æÈ¡ºÍ¶ÁÈ¡Êý¾ÝͼÏñ
|ÊäÈë²ÎÊý£ºÎÞ
|Êä³ö²ÎÊý£ºÎÞ
***************************************/
void Timer0_IntHandler(void)
{
uint16_t t1;
uint32_t j;
//unsigned long ulStatus;
OV_sta=TimerValueGet(TIMER0_BASE,TIMER_A);//»ñÈ¡µ±Ç°¼ÆÊýÆ÷µÄÖµ
UART2_Putw_Dec(OV_sta);
// TimerIntClear(TIMER0_BASE,TIMER_CAPA_EVENT);//Çå³ýÖжÏ״̬
TimerIntClear(TIMER0_BASE,TIMER_CAPA_MATCH);
if(OV_sta<TimerMatchGet(TIMER0_BASE,TIMER_A))
{
if(OV_sta==0)
{
OV7670_WRST0;//¸´Î»Ð´Ö¸Õë
OV7670_WRST1;
OV7670_WEN1;// ÔÊÐíдÈëFIFO
}
else
{
OV7670_WEN0;//½ûÖ¹FIFOдÈë
OV7670_WRST0;
OV7670_WRST1;
}
if(OV_sta==(TimerMatchGet(TIMER0_BASE,TIMER_A)))//¶Áȡһ֡ͼÏñ
{
OV7670_WEN0;// ½ûֹдÈëFIFO
TimerIntClear(TIMER0_BASE,TIMER_CAPA_EVENT); //Çå³ýÖжϣ¬×¼±¸¶ÁÈ¡FIFOµÄÊý¾Ý
OV7670_RRST0;//¿ªÊ¼¸´Î»Ö¸Õë
OV7670_RCK0;
OV7670_RCK1;
OV7670_RCK0;
OV7670_RRST1;//¸´Î»Ö¸Õë½áÊø
OV7670_RCK1;
OV7670_OE0;//ÔÊÐíFIFOÊä³ö
for(j=0;j<320*240;j++)//Ñ»·¶ÁÈ¡ÏñËØµã
{
OV7670_RCK0;
t1=0xFF&(GPIOPinRead(GPIO_PORTD_BASE,GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|
GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7));//
OV7670_RCK1;
t1<<=8;
OV7670_RCK0;
t1|=0xFF&(GPIOPinRead(GPIO_PORTD_BASE,GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|
GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7));//
OV7670_RCK1;
}
OV_sta=0;
OV7670_OE1;//½ûÖ¹FIFOÊä³ö
//datareadyflag=1;//ÉèÖñê־λ±íʾͼÏñ²É¼¯Íê³É¿ÉÒÔ½øÐÐͼÏñ´¦ÀíÁË
}
Image_Get_Data=t1;
}
}