智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2067|回复: 7

[采集类] 火哥,各位高手求帮助啊

[复制链接]

9

主题

51

帖子

0

精华

高级会员

Rank: 4

积分
706
QQ
威望
357
贡献
161
兑换币
224
注册时间
2013-6-8
在线时间
94 小时
发表于 2013-9-18 20:51:54 | 显示全部楼层 |阅读模式
1贡献
我的摄像头是7620,用的是火哥的库,直接调用的,采集80行,每隔4行采集一次,但是我设定采集列数150的时候只能采集到一边的图像,后来我改成360了,才能完整采集
但是貌似别人采集100多行就可以了啊,这个怎么解决啊,附上部分程序
DMA_CH4_Handler(void)  //仔细去看时序
{
    DMA_IRQ_CLEAN(DMA_CH4);                                 //清除通道传输中断标志位    (这样才能再次进入中断)
    DMA_DIS(DMA_CH4);                                       //采集完H个数据后进入这个DMA中断,停止DMA传输。行中断中打开DMA传输
    if(V_Cnt==320)
      Is_SendPhoto = 0;  
} //这里难道是每一行才触发dmA中断
void PORTB_IRQHandler()
{
    if((PORTB_ISFR & (1<<22)))  //这个你要看懂,为什么是这样写的,你要明白                         //PTA29触发中断,行中断
    {
      PORTB_ISFR |= (1<<22);                                //写1清中断标志位
      
      if((V_Cnt++)%4==0)
        DMA_EN(DMA_CH4);    //因为这里行中断已经触发了,所以这里必须要重新打开 //使能通道CHn 硬件请求
    }                       //可以在这里判断需要的数据是否已经采集完,可以设置一个标志位
   
   
   
}
//场中断处理函数
void PORTA_IRQHandler()
{
    if(PORTA_ISFR & (1<<14))   //还有这一步到底代表着什么你要明白                              //PTB0触发中断,场中断
    {
      PORTA_ISFR |= (1<<14);                                 //写1清中断标志位         
        DMA_PORTx2BUFF_Init (DMA_CH4, (void *)&PTC_BYTE0_IN, Pix_Data, PTB23, DMA_BYTE1, H, DMA_rising_keepon); //但是为什么是采集到每一场才开始保存到数组呢?我觉得采集到一个像素点就应该保存啊
        //DMA通道4初始化,PTC0上升沿触发DMA传输,源地址为PTD_BYTE0_IN,目的地址为:Pix_Data ,每次传输1Byte,传输H次后停止传输,目的地址保持不变,关闭通道CHn 硬件请求
        enable_irq(88);                                     //使能PORTA中断,即开启行中断,PORTA的ISR中断号为87
        V_Cnt=0;  
        Is_SendPhoto = 0;                                   //发送图像标志
    }
}


求解决啊,郁闷死了

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

9

主题

51

帖子

0

精华

高级会员

Rank: 4

积分
706
QQ
威望
357
贡献
161
兑换币
224
注册时间
2013-6-8
在线时间
94 小时
 楼主| 发表于 2013-9-18 20:52:13 | 显示全部楼层
回复

使用道具 举报

22

主题

1613

帖子

1

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6784
QQ
威望
2910
贡献
1540
兑换币
1579
注册时间
2012-3-17
在线时间
1167 小时
发表于 2013-9-18 21:56:06 | 显示全部楼层
DMA  是根据摄像头的 PCLK 来采集,采集次数是根据摄像头的输出来定,不是任意的。
如果你先采集任意列,那就不能用 DMA,只能 IO 模拟采集
回复

使用道具 举报

9

主题

51

帖子

0

精华

高级会员

Rank: 4

积分
706
QQ
威望
357
贡献
161
兑换币
224
注册时间
2013-6-8
在线时间
94 小时
 楼主| 发表于 2013-9-18 22:29:15 | 显示全部楼层
野火 发表于 2013-9-18 21:56
DMA  是根据摄像头的 PCLK 来采集,采集次数是根据摄像头的输出来定,不是任意的。
如果你先采集任意列,那 ...

不太懂呢   意思就是那个360其实是根据摄像头来确定的?  就是采集的那个列,这种属于正常情况?
回复

使用道具 举报

1

主题

18

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
338
威望
185
贡献
91
兑换币
111
注册时间
2013-8-21
在线时间
31 小时
毕业学校
合肥
发表于 2013-9-18 23:57:31 | 显示全部楼层
感觉好神奇
回复

使用道具 举报

9

主题

51

帖子

0

精华

高级会员

Rank: 4

积分
706
QQ
威望
357
贡献
161
兑换币
224
注册时间
2013-6-8
在线时间
94 小时
 楼主| 发表于 2013-9-19 00:18:59 | 显示全部楼层
天之晴 发表于 2013-9-18 23:57
感觉好神奇

大神,该怎么解决啊???
回复

使用道具 举报

3

主题

46

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1215
威望
630
贡献
359
兑换币
421
注册时间
2013-11-8
在线时间
113 小时
毕业学校
河南理工大学
发表于 2014-1-21 23:09:29 | 显示全部楼层
大哥  我用的也是7620   为什么一直上位机投放不了图像呢?郁闷很久了 能帮帮忙吗  感激不尽,我QQ:602402553,或者留下你的联系方式,咱们一起探讨
回复

使用道具 举报

6

主题

100

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1509
威望
709
贡献
394
兑换币
478
注册时间
2013-8-9
在线时间
203 小时
发表于 2014-2-26 09:47:58 | 显示全部楼层
野火 发表于 2013-9-18 21:56
DMA  是根据摄像头的 PCLK 来采集,采集次数是根据摄像头的输出来定,不是任意的。
如果你先采集任意列,那 ...

我用的鹰眼,行场中断都用了,想实现只采集特定行,于是就只在特定行使能DMA,但是这样做就传不完一场数据,好奇怪,不知道哪里有问题,还请火哥指点一二。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-6 17:16 , Processed in 0.057021 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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