智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2252|回复: 7
打印 上一主题 下一主题

for语句

[复制链接]

5

主题

14

帖子

0

精华

注册会员

Rank: 2

积分
164
威望
95
贡献
35
兑换币
42
注册时间
2014-1-11
在线时间
17 小时
毕业学校
广东白云学院
跳转到指定楼层
1#
发表于 2014-5-8 12:06:47 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
请问一下搞摄像头组的有没有遇到过数组里的for循环嵌套中的for循环语句中不可以有判断语句的情况吗???我在for循环嵌套的for语句中用到if判断语句是会报错说内存空间不足》》这是怎么回是》》》求解。。。。。
回复

使用道具 举报

5

主题

14

帖子

0

精华

注册会员

Rank: 2

积分
164
威望
95
贡献
35
兑换币
42
注册时间
2014-1-11
在线时间
17 小时
毕业学校
广东白云学院
2#
 楼主| 发表于 2014-5-8 12:54:30 | 显示全部楼层
rubick 发表于 2014-5-8 12:27
肯定不是嵌套和if的问题,是不是你在里面申请内部变量了?

就这么一段,,变量没在里面申请,而是在函数头申请的。只是调用到了内部变量而已
就在第二个for的判断中出错了,,把把第二个for中的if屏蔽掉就行,不然就出错了


  void black_extract(void)  
{  
   unsigned char  stop=0;     //停车圈数计数器
   unsigned char i=0,j=0,left=0,right=0,start_flag1=0,start_flag2=0;
   unsigned char left_line=0,right_line=0,left_edge=0,right_edge=0;
   int temp=0;
   unsigned char left_flag1=0,right_flag1=0,left_flag2=0,right_flag2=0;
   Line_Center[0]=Line_Center[ROW-1];
////////////////////////////////////////////////////
/////图像前部分用边缘检测法
///////////////////////////////////////////////////  
  for(i=ROW_START;i<ROW_MID;i++)     
  {   
     left=0; //左右跳变清零,这是必须的!!
     right=0;
     for(j=5;j<=COLUMN-5;j++) //两边搜索 最边界干扰略去  
     {
       if(Buffer1[j]-Buffer1[j+1]>0)
         {left=j;left_flag1++;}
       if(Buffer1[COLUMN-j]-Buffer1[COLUMN-j-1]>0)
         {right=COLUMN-j;right_flag1++;}
     }
    //////////求黑线的中心  
    if((left_flag1>=1) && (right_flag1>=1))
    {
      if((right-left>=BLACK_LINE_MIN0)&&(right-left<=BLACK_LINE_MAX0))    //过滤过宽过细的黑线    4. 80
      {  
          Line_Center=(right+left+1)/2;                           
          _asm(nop);
      }
    }
    else   /////////////////过宽过细黑线进行插值
      {
      if(i<3) Line_Center=Line_Center[i-1];
      else
       {temp=2*Line_Center[i-1]-Line_Center[i-2];
        if(temp>RIHGT_LIMIT)  temp=RIHGT_LIMIT;
        else if(temp<LEFT_LIMIT)   temp=LEFT_LIMIT;
        Line_Center=temp;}
      }   
  }



补充内容 (2014-5-8 13:22):
现在发现,如果那个数组在Buffer1[30][1~98]都行,,超过了98就会出现上面的问题
回复 支持 反对

使用道具 举报

5

主题

14

帖子

0

精华

注册会员

Rank: 2

积分
164
威望
95
贡献
35
兑换币
42
注册时间
2014-1-11
在线时间
17 小时
毕业学校
广东白云学院
3#
 楼主| 发表于 2014-5-8 13:03:31 | 显示全部楼层
凌心 发表于 2014-5-8 12:40
空间不足是编译后的问题,与语法无法的。

但出现了:Out of allocation space in segment RAM at address ox3463....
你说会是什么问题呢???
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|亿加合和智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-5-19 11:19 , Processed in 0.045119 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表