智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3308|回复: 16
打印 上一主题 下一主题

求助!关于图像采集问题

[复制链接]

3

主题

24

帖子

0

精华

高级会员

Rank: 4

积分
692
威望
354
贡献
182
兑换币
84
注册时间
2012-3-30
在线时间
78 小时
跳转到指定楼层
1#
发表于 2012-12-10 13:50:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现用K60采集到的图像是不断上下移动,我看以往的帖子也有这个这个问题。据说是中断的问题。但是我现在实在是找不到我的中断有什么问题。我的采集方法是,先开场中断,带场中断初始化DMA和开行中断。行中断判断行数,当行数大于我设定的行数后关闭场行中断,结束采集。  望大家帮帮忙!{:soso__8233811615348050067_4:}


补充内容 (2012-12-10 20:23):
发现了一个问题!!!  我的摄像头是ov7620的 5v供电的,单片机是3.3v k60。 当我把摄像头供电电压降到4.0v的时候,图像就稳定了,超过了4.5v就是又上下移动了。这个是什么原因呢?

补充内容 (2012-12-11 13:46):
问题解决,OV7620 5v电平和k60 3.3v不匹配!!!!

22

主题

1613

帖子

1

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6784
QQ
威望
2910
贡献
1540
兑换币
1579
注册时间
2012-3-17
在线时间
1167 小时
2#
发表于 2012-12-10 14:07:32 | 只看该作者
可以参考我们的摄像头采集代码

思路是没什么错的,往往是逻辑考虑不全
回复 支持 反对

使用道具 举报

42

主题

299

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4405
QQ
威望
2280
贡献
1049
兑换币
767
注册时间
2011-11-29
在线时间
538 小时
3#
发表于 2012-12-10 14:29:05 | 只看该作者
上照片、、、
回复 支持 反对

使用道具 举报

42

主题

299

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4405
QQ
威望
2280
贡献
1049
兑换币
767
注册时间
2011-11-29
在线时间
538 小时
4#
发表于 2012-12-10 14:29:21 | 只看该作者
上照片,看看到底是怎么回事
回复 支持 反对

使用道具 举报

3

主题

24

帖子

0

精华

高级会员

Rank: 4

积分
692
威望
354
贡献
182
兑换币
84
注册时间
2012-3-30
在线时间
78 小时
5#
 楼主| 发表于 2012-12-10 14:49:39 | 只看该作者
tujunjie 发表于 2012-12-10 14:29
上照片,看看到底是怎么回事

因为我的行没有取完,只取了中间一段(80行)。所以图像一会看得很远,一会又看的是近处。图片等会
回复 支持 反对

使用道具 举报

3

主题

24

帖子

0

精华

高级会员

Rank: 4

积分
692
威望
354
贡献
182
兑换币
84
注册时间
2012-3-30
在线时间
78 小时
6#
 楼主| 发表于 2012-12-10 14:54:43 | 只看该作者
tujunjie 发表于 2012-12-10 14:29
上照片,看看到底是怎么回事

第一幅

2

3

4

5

6

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

3

主题

24

帖子

0

精华

高级会员

Rank: 4

积分
692
威望
354
贡献
182
兑换币
84
注册时间
2012-3-30
在线时间
78 小时
7#
 楼主| 发表于 2012-12-10 14:55:32 | 只看该作者
_Rp_ 发表于 2012-12-10 14:54
第一幅

2

基本上就是这六幅图片不断循环···
回复 支持 反对

使用道具 举报

42

主题

299

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4405
QQ
威望
2280
贡献
1049
兑换币
767
注册时间
2011-11-29
在线时间
538 小时
8#
发表于 2012-12-10 15:08:21 | 只看该作者
_Rp_ 发表于 2012-12-10 14:55
基本上就是这六幅图片不断循环···

80行已经够多了,已经够了,你的采集逻辑没有问题呀!你这种情况我没有遇见过,波特率应该也没有问题,估计是采集程序的问题,其实DMA采集很简单,在场中断里初始化行和DMA,遇见所要采集的行,在行中断里打开DMA中断即可、、、
回复 支持 反对

使用道具 举报

3

主题

24

帖子

0

精华

高级会员

Rank: 4

积分
692
威望
354
贡献
182
兑换币
84
注册时间
2012-3-30
在线时间
78 小时
9#
 楼主| 发表于 2012-12-10 15:12:25 | 只看该作者
tujunjie 发表于 2012-12-10 15:08
80行已经够多了,已经够了,你的采集逻辑没有问题呀!你这种情况我没有遇见过,波特率应该也没有问题,估 ...

       void PORTA_IRQHandler()
{
           //场中断
    if(PORTA_ISFR & (1 << 27))              //PTA27触发中断
    {
         if(img_flag == IMG_START)     //需要开始采集图像
  {
   DMA_DADDR(CAMERA_DMA_CH)= (u32)IMG_BUFF;//马上恢复目的地址
   DMA_EN(CAMERA_DMA_CH);              //使能通道CHn 硬件请求      (这样才能继续触发DMA传输)
   img_flag = IMG_GATHER;
                        row=0;
                        PORTC_ISFR  = ~0;
                        enable_irq(89);   //使能行中断    //标记图像采集中
                     
  }
  
        
    }
      
      PORTA_ISFR  = ~0;  
}  


void PORTC_IRQHandler(void)
{
  if(PORTC_ISFR & (1 << 0))                       //PTC0触发行中断
  {
      PORTC_ISFR  = ~0;
      if(row>=50 && row<=130)      //如果当前行数据应该采集
      {
     DMA_EN(CAMERA_DMA_CH); //使能通道CHn 硬件请求      (这样才能继续触发DMA传输)
            
      }
        row++;  
      if(row>=130)
      {
         
               disable_irq(87); //关闭场中的,等待下一次场中断来到重新打开
          disable_irq(89); //关闭行中的,等待下一次场中断来到重新打开
          DMA_DIS(CAMERA_DMA_CH);
              img_flag = IMG_FINISH;
         
      }
  }
     PORTC_ISFR  = ~0;
}
这个是参照野火代码改的 不知道逻辑对不对
回复 支持 反对

使用道具 举报

42

主题

299

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4405
QQ
威望
2280
贡献
1049
兑换币
767
注册时间
2011-11-29
在线时间
538 小时
10#
发表于 2012-12-10 15:20:06 | 只看该作者
_Rp_ 发表于 2012-12-10 15:12
void PORTA_IRQHandler()
{
           //场中断

DMA_DIS(CAMERA_DMA_CH); 这是DMA第几个通道呢?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-11 12:58 , Processed in 0.051979 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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