智能车制作

标题: 摄像头的程序采不到图像,哪位帮忙看看! [打印本页]

作者: 追寻,足迹    时间: 2012-5-6 00:05
标题: 摄像头的程序采不到图像,哪位帮忙看看!
我用的是野火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;
     }
    }
   }
}
}


作者: 从不耘败    时间: 2012-5-12 19:01
同样的问题
作者: 追寻,足迹    时间: 2012-5-13 00:26
从不耘败 发表于 2012-5-12 19:01
同样的问题

那你解决了吗?我一直找不到原因!

作者: 从不耘败    时间: 2012-5-13 07:42
我那个是进不了中断函数,正在考虑为什么呢
作者: leeves_chou    时间: 2012-5-13 11:23
靠 我现在也是这个问题!!野火说是时序问题 k60比xs128快 可我一直没搞出来
作者: 追寻,足迹    时间: 2012-5-13 15:10
从不耘败 发表于 2012-5-13 07:42
我那个是进不了中断函数,正在考虑为什么呢

你i中断函数写了没,我测试了下,我的中断是进去了,但用上位机看,什么都没有,加个好友吧,咱们一起讨论下。
作者: 追寻,足迹    时间: 2012-5-13 15:12
leeves_chou 发表于 2012-5-13 11:23
靠 我现在也是这个问题!!野火说是时序问题 k60比xs128快 可我一直没搞出来

那你打算咱们班,我改了一个多星期了,还是没弄出来

作者: leeves_chou    时间: 2012-5-13 15:24
追寻,足迹 发表于 2012-5-13 15:12
那你打算咱们班,我改了一个多星期了,还是没弄出来

改用 DMA采集了,,刚把DMA采集图像搞出来~~也有很多问题 慢慢调~
作者: martain    时间: 2012-5-13 16:29
dma
作者: 追寻,足迹    时间: 2012-5-13 18:21
leeves_chou 发表于 2012-5-13 15:24
改用 DMA采集了,,刚把DMA采集图像搞出来~~也有很多问题 慢慢调~

那我也改用dma,能加个qq吗,不会好向你请教下
作者: 追寻,足迹    时间: 2012-5-13 18:21
martain 发表于 2012-5-13 16:29
dma

你做出来了?能指导下嘛?

作者: leeves_chou    时间: 2012-5-13 18:36
追寻,足迹 发表于 2012-5-13 18:21
那我也改用dma,能加个qq吗,不会好向你请教下

我接触k60时间不长 不过可以一起交流~~490255483

作者: 从不耘败    时间: 2012-5-13 21:49
追寻,足迹 发表于 2012-5-13 15:10
你i中断函数写了没,我测试了下,我的中断是进去了,但用上位机看,什么都没有,加个好友吧,咱们一起讨论 ...

中断函数当然写了,要不还混啥呢,就是反复检查也没见错啊,我用的是xs128
作者: 追寻,足迹    时间: 2012-5-15 23:05
martain 发表于 2012-5-13 16:29
dma

你做出来了吗?能加下qq指导下嘛?

作者: xinmengwangran    时间: 2012-5-16 08:14
我也遇到啦 呜呜 回来的图像跟马赛克似得
作者: 追寻,足迹    时间: 2012-5-16 21:08
xinmengwangran 发表于 2012-5-16 08:14
我也遇到啦 呜呜 回来的图像跟马赛克似得

那你现在处理好了吗?我的还是采不到图像,你用的是野火的k60吗?能指导下不?
作者: xinmengwangran    时间: 2012-5-17 06:57
追寻,足迹 发表于 2012-5-16 21:08
那你现在处理好了吗?我的还是采不到图像,你用的是野火的k60吗?能指导下不?

我用的是清华K10的 还没解决 有些放弃了
作者: 追寻,足迹    时间: 2012-5-18 22:30
xinmengwangran 发表于 2012-5-17 06:57
我用的是清华K10的 还没解决 有些放弃了

嗯,两者差不多,实在想不出来了,就只能换其他方式了
作者: xinmengwangran    时间: 2012-5-19 09:01
追寻,足迹 发表于 2012-5-18 22:30
嗯,两者差不多,实在想不出来了,就只能换其他方式了

我现在可能找到原因啦 发现K10 VCC的电压不是5V 不能直接供给摄像头 所以传回来的是乱码 可能是电压不够 我正在做一个5V电源 试一试
作者: 追寻,足迹    时间: 2012-5-19 21:44
xinmengwangran 发表于 2012-5-19 09:01
我现在可能找到原因啦 发现K10 VCC的电压不是5V 不能直接供给摄像头 所以传回来的是乱码 可能是电压不够  ...

我是单独给摄像头单独供5v电的点,就是看不到图像,现在改用dma代码改不大来,你用过没

作者: xinmengwangran    时间: 2012-5-19 21:53
追寻,足迹 发表于 2012-5-19 21:44
我是单独给摄像头单独供5v电的点,就是看不到图像,现在改用dma代码改不大来,你用过没

没有 也愁啦 也是采不回图像 DMA 需要外部硬件支持吗
作者: 追寻,足迹    时间: 2012-5-20 21:33
不知道啊,应该不用吧,因为摄像头本身就是数字的了,研究出来指导下呵
作者: Super-potter    时间: 2012-11-5 23:57
问题???我也不会
作者: sequoias    时间: 2012-11-7 22:40





欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2