智能车制作

标题: 为什么取中线过程中程序老死在里面 [打印本页]

作者: 林的0922    时间: 2013-4-4 10:51
标题: 为什么取中线过程中程序老死在里面
为什么取中线过程中程序老死在里面
数组定义问题??

作者: 天秤星座    时间: 2013-4-4 11:01
死循环了把
作者: exiao    时间: 2013-4-4 11:12
跑飞了?
作者: 林的0922    时间: 2013-4-4 11:13
exiao 发表于 2013-4-4 11:12
跑飞了?

跑飞??
作者: 676431432    时间: 2013-4-4 12:11
注意你的数组的一些问题,比如中线小于0或者大于你的列,这些要限制一下,我之前也是这个问题,在写的时候多加注意就好了
作者: exiao    时间: 2013-4-4 12:36
标题: RE: 为什么取中线过程中程序老死在里面
林的0922 发表于 2013-4-4 11:13
跑飞??

有可能啊
作者: zncsudo    时间: 2013-4-4 13:45
有没有数组越界?之前我也出过这种问题
作者: 林的0922    时间: 2013-4-4 13:48
zncsudo 发表于 2013-4-4 13:45
有没有数组越界?之前我也出过这种问题

我感觉就是数组 的问题  可是找不出错
void line_center()
{
int line_left[40];
int line_rigt[40];
int center[40];
//unsigned char cambuff[40][80];
unsigned int i,j1,j2,m,n,l;
m=0;
n=0;
  for(i=0;i<40;i++){

  for(j1=35;j1>1;j1--)
   {

  if((cambuff0[j1]-cambuff0[j1-4]>250)&&(cambuff0[j1]-cambuff0[j1-3]>250))
    line_left[m]=j1;
   }
  }

    for(i=0;i<40;i++)
    for(j2=45;j2<79;j2++)
    {
      if((cambuff0[j2]-cambuff0[j2+4]>250)&&(cambuff0[j2]-cambuff0[j2+5]>250))
      line_rigt[n]=j2;
    }

for(l=0;l<=40;l++)
center[l]=(line_left[l]+line_rigt[l])/2;
center[l]=1;

}




作者: 林的0922    时间: 2013-4-4 13:48
exiao 发表于 2013-4-4 12:36
有可能啊

void line_center()
{
int line_left[40];
int line_rigt[40];
int center[40];
//unsigned char cambuff[40][80];
unsigned int i,j1,j2,m,n,l;
m=0;
n=0;
  for(i=0;i<40;i++){

  for(j1=35;j1>1;j1--)
   {

  if((cambuff0[j1]-cambuff0[j1-4]>250)&&(cambuff0[j1]-cambuff0[j1-3]>250))
    line_left[m]=j1;
   }
  }

    for(i=0;i<40;i++)
    for(j2=45;j2<79;j2++)
    {
      if((cambuff0[j2]-cambuff0[j2+4]>250)&&(cambuff0[j2]-cambuff0[j2+5]>250))
      line_rigt[n]=j2;
    }

for(l=0;l<=40;l++)
center[l]=(line_left[l]+line_rigt[l])/2;
center[l]=1;

}




作者: exiao    时间: 2013-4-4 15:09
标题: RE: 为什么取中线过程中程序老死在里面
林的0922 发表于 2013-4-4 13:48
void line_center()
{
int line_left[40];

看到了
作者: 1169298552    时间: 2013-4-4 16:19
  if((cambuff0[j1]-cambuff0[j1-4]>250)&&(cambuff0[j1]-cambuff0[j1-3]>250))
当你的j1-4<0的时候,这个不会出问题?
作者: 塞纳新郎    时间: 2013-4-4 20:54
是ccd吗?
作者: zncsudo    时间: 2013-4-4 23:53
cambuff0[j1-4],这里明显错了,  for(j1=35;j1>1;j1--),当j1=3时数组就已经越界了
作者: oneJN    时间: 2013-4-5 05:32
多用用单步执行,慢慢的你会发现哪儿出问题的。
作者: 林的0922    时间: 2013-4-5 21:47
oneJN 发表于 2013-4-5 05:32
多用用单步执行,慢慢的你会发现哪儿出问题的。

谢谢

作者: 深情、一回头    时间: 2013-6-4 23:50
我也出现这样的问题   楼主解决了没?




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