金牌会员
- 积分
- 1035
- 威望
- 629
- 贡献
- 330
- 兑换币
- 15
- 注册时间
- 2012-4-6
- 在线时间
- 38 小时
|
我用的是野火k60的板子,然后根据以前别人128的程序进行修改,我只进行了简单的采集,编译,运行时都没错,就是看不到采集的图像,大家给看看,是不是我的程序写错了!
#define ROW 47
#define COLUMN 120
u8 Image_Data[ROW][COLUMN];
u8 Point_C, VSYN_C=0, Line_Flag, m = 0,n=0;
u16 Line_C=0;
u8 Interval;
//u8 THRESHOLD=0x45;
void FTM1_IRQHandler()
{
u8 s=FTM1_STATUS; //读取捕捉和比较状态 All CHnF bits can be checked using only one read of STATUS.
u8 CHn;
FTM1_STATUS=0x00; //清中断标志位
CHn=0;
if( s & (1<<CHn) )
{
FTM_CnSC_REG(FTM1_BASE_PTR,CHn) &= ~FTM_CnSC_CHIE_MASK; //禁止输入捕捉中断
Line_Flag = 0;
m++;
if ( m<12 || m>288 )
{
return;//判断是否从新的一场开始
}
Interval=6;
if(m%Interval==0)
{
Image_Data[Line_C][0] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][1] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][2] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][3] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][4] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][5] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][6] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][7] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][8] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][9] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][10] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][11] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][12] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][13] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][14] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][15] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][16] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][17] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][18] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][19] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][20] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][21] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][22] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][23] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][24] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][25] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][26] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][27] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][28] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][29] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][30] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][31] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][32] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][33] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][34] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][35] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][36] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][37] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][38] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][39] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][40] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][41] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][42] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][43] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][44] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][45] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][46] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][47] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][48] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][49] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][50] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][51] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][52] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][53] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][54] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][55] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][56] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][57] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][58] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][59] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][60] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][61] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][62] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][63] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][64] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][65] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][66] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][67] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][68] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][69] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][70] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][71] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][72] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][73] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][74] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][75] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][76] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][77] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][78] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][79] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][80] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][81] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][82] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][83] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][84] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][85] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][86] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][87] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][88] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][89] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][90] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][91] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][92] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][93] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][94] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][95] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][96] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][97] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][98] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][99] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][100] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][101] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][102] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][103] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][104] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][105] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][106] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][107] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][108] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][109] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][110] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][111] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][112] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][113] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][114] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][115] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][116] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][117] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][118] = GPIO_GET_8bit(PORTD,0);
Image_Data[Line_C][119] = GPIO_GET_8bit(PORTD,0);
Line_C++;
}
FTM_IRQ_EN(FTM1,CHn);
}
//}
/*CHn=1;
if( s & (1<<CHn) )
{
FTM_CnSC_REG(FTM1_BASE_PTR,CHn) &= ~FTM_CnSC_CHIE_MASK; //禁止输入捕捉中断
FTM1_STATUS=0x00;
Point_C = 0;
Line_C = 0; //行计数器
VSYN_C = ++VSYN_C;
FTM_IRQ_EN(FTM1,CHn);
}*/
}
void FTM0_IRQHandler()
{
u8 s=FTM0_STATUS; //读取捕捉和比较状态 All CHnF bits can be checked using only one read of STATUS.
u8 CHn;
FTM0_STATUS=0x00; //清中断标志位
FTM1_STATUS=0x00;
CHn=0;
if( s & (1<<CHn) )
{
FTM_CnSC_REG(FTM0_BASE_PTR,CHn) &= ~FTM_CnSC_CHIE_MASK; //禁止输入捕捉中断
Point_C = 0;
Line_C = 0; //行计数器
VSYN_C = ++VSYN_C;
FTM_IRQ_EN(FTM0,CHn);
}
}
void main()
{
uart_init(UART1, 19200);
DisableInterrupts; //禁止总中断
gpio_init(PORTD,0,GPI,1);
gpio_init(PORTD,1,GPI,0);
gpio_init(PORTD,2,GPI,0);
gpio_init(PORTD,3,GPI,0);
gpio_init(PORTD,4,GPI,0);
gpio_init(PORTD,5,GPI,0);
gpio_init(PORTD,6,GPI,0);
gpio_init(PORTD,7,GPI,0);
FTM_Input_init(FTM1,CH0,Rising);
FTM_Input_init(FTM0,CH0,Falling); //初始化FTM输入捕捉模式,通道1下降沿触发
EnableInterrupts; //开总中断
while(1)
{
if(VSYN_C)
{
u8 i,j;
for(i = 0;i< ROW-8;i++)
{
for(j=0;j<COLUMN;j++)
{
//s8 ch;
//ch=(s8)Image_Data[i][j];
uart_pendchar (UART1,&Image_Data[i][j]);
VSYN_C=0;
EnableInterrupts;
}
}
}
}
}
|
|