智能车制作

标题: 摄像头采集中断问题 [打印本页]

作者: 登高使者    时间: 2013-5-2 19:58
标题: 摄像头采集中断问题
大家好!我想问大家一个问题,就是图像采集回来后,如何关掉该中断,而进行图像处理呢??谢谢!
作者: pangfumin    时间: 2013-5-2 20:19
为什么要关呢
作者: 登高使者    时间: 2013-5-2 20:42
pangfumin 发表于 2013-5-2 20:19
为什么要关呢

处理数据呀。请问怎样关的呢?
作者: orthodox    时间: 2013-5-2 22:12
Disenableinterrupts
作者: 登高使者    时间: 2013-5-2 22:49
orthodox 发表于 2013-5-2 22:12
Disenableinterrupts

你好!你这个是关总中断的吧!我可不是要关中断的哦!

作者: orthodox    时间: 2013-5-3 10:58
登高使者 发表于 2013-5-2 22:49
你好!你这个是关总中断的吧!我可不是要关中断的哦!

你用的什么中断采集图像的?我是用DMA,采集完了关闭DMA相应的中断不就完了
作者: 简单丹    时间: 2013-5-3 12:30
关了中断图像就无法采集.....不需要关中断
作者: 登高使者    时间: 2013-5-3 14:32
orthodox 发表于 2013-5-3 10:58
你用的什么中断采集图像的?我是用DMA,采集完了关闭DMA相应的中断不就完了

我是用PT0和PT1两个行场中断的!dma是什么来的呢?请问

作者: orthodox    时间: 2013-5-3 17:22
简单丹 发表于 2013-5-3 12:30
关了中断图像就无法采集.....不需要关中断

需要采的时候就开启中断,采完了就关中断处理数据,处理完了要采集了,再开中断不就完了么,两句代码的事,整这么麻烦,蛋疼。。。。
作者: orthodox    时间: 2013-5-3 17:23
登高使者 发表于 2013-5-3 14:32
我是用PT0和PT1两个行场中断的!dma是什么来的呢?请问

DMA是直接内存读取数据,不经过CPU,速度更快,这都不知道么?
作者: 登高使者    时间: 2013-5-6 11:45
orthodox 发表于 2013-5-3 17:22
需要采的时候就开启中断,采完了就关中断处理数据,处理完了要采集了,再开中断不就完了么,两句代码的事 ...

你好!蛋疼的是,在哪里关闭中断啊!那两句代码呢?在行场中断里面只有中断标志而已,不能弄到主函数哪里的吧?还是一个是总中断。

作者: 登高使者    时间: 2013-5-6 11:46
orthodox 发表于 2013-5-3 17:23
DMA是直接内存读取数据,不经过CPU,速度更快,这都不知道么?

dma是哪一个端口的呢?我问了人家了,他们说不清楚。
作者: orthodox    时间: 2013-5-7 08:15
登高使者 发表于 2013-5-6 11:46
dma是哪一个端口的呢?我问了人家了,他们说不清楚。

K60有好几路DMA呢,DMA是一个寄存器,你看下datasheet
作者: orthodox    时间: 2013-5-7 08:16
登高使者 发表于 2013-5-6 11:45
你好!蛋疼的是,在哪里关闭中断啊!那两句代码呢?在行场中断里面只有中断标志而已,不能弄到主函数哪里 ...

在行场中断中关
作者: 登高使者    时间: 2013-5-7 09:47
orthodox 发表于 2013-5-7 08:15
K60有好几路DMA呢,DMA是一个寄存器,你看下datasheet

噢噢!大哥呀!我用的是xs128啦!!

作者: 登高使者    时间: 2013-5-7 09:49
orthodox 发表于 2013-5-7 08:16
在行场中断中关

恩恩!这个肯定有关的啦!我想再请教你一个问题,就是为什么我现在采集的左右两边的黑线,在速度较快的情况下,恰恰是上一场的两条左右黑线,请问你有没有遇到这种情况呢?大概是什么原因呢?
作者: 541236895    时间: 2013-5-7 10:15
我们是在主函数里关行场中断的,如果处理的是上一场的要么就是采集数据慢要么就是这场图像数据有错误使用上一场的,看你程序怎么写了。
作者: 登高使者    时间: 2013-5-7 10:40
541236895 发表于 2013-5-7 10:15
我们是在主函数里关行场中断的,如果处理的是上一场的要么就是采集数据慢要么就是这场图像数据有错误使用上 ...

你好!这是我们的主函数处理图像部分的内容,请问怎样在主函数里面关闭行场中断的呢?谢谢啦!!!!!
for(;;)   
  {                        
      _FEED_COP();           /* feeds the dog */
      if(g_car_show_yn ==1)   
      {
        
       g_car_show_yn = 0;     
     
       Photo_Make01();        //图像2值化
      
       vGetCenter();
     
      duoji();
      debug_show_photo();    //在串口上显示采集到得数据  
   
      }



作者: 541236895    时间: 2013-5-7 10:45
在中断里采集完数据后给个标志位(全局的),main函数里检测,如果标志位为1,就关中断然后处理数据就可以了,你是128的,我们用的K60,不过原理都是一样的。
作者: 登高使者    时间: 2013-5-7 10:54
541236895 发表于 2013-5-7 10:45
在中断里采集完数据后给个标志位(全局的),main函数里检测,如果标志位为1,就关中断然后处理数据就可以了 ...

恩恩!是的!我们是xs128。你所说的是这个吧?
      if(g_car_show_yn ==1)   
      {
           g_car_show_yn = 0;  
....
}   

作者: 541236895    时间: 2013-5-7 11:01
应该是吧,在 g_car_show_yn = 0;  
后边关中断就可以了,在debug_show_photo(); 再开中断
作者: 登高使者    时间: 2013-5-7 11:33
541236895 发表于 2013-5-7 11:01
应该是吧,在 g_car_show_yn = 0;  
后边关中断就可以了,在debug_show_photo(); 再开中断

哎!时间证明,情况还是那样的,本场的黑线是上一场的!

作者: 我飞故我在    时间: 2013-7-22 10:04
orthodox 发表于 2013-5-3 10:58
你用的什么中断采集图像的?我是用DMA,采集完了关闭DMA相应的中断不就完了

我知道用数字摄像头+DMA采集数据时,用像素信号PCLK触发DMA请求,那么用模拟摄像头+DMA数据采集,怎么触发DMA请求呢?我用的外围LM1881视频分离电路和TLC5510的AD转换,只有行中断信号和场中断信号,没有像素信号啊。求帮助,谢谢啦。。





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