智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1956|回复: 13
打印 上一主题 下一主题

[咨询] 请教个问题 关于摄像头采集的

[复制链接]

54

主题

286

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2172
QQ
威望
1119
贡献
505
兑换币
476
注册时间
2012-8-28
在线时间
274 小时
跳转到指定楼层
1#
发表于 2013-1-21 14:06:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的程序编好后 进行单步调试 行中断 场中断均可触发 但是ad采集的数据全是00,这是怎么回事啊?

35

主题

899

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4149

优秀会员奖章活跃会员奖章论坛元老奖章

威望
1496
贡献
2087
兑换币
316
注册时间
2012-2-13
在线时间
283 小时
2#
发表于 2013-1-21 14:28:47 | 只看该作者
这问题太大了。。不好回答。大多数还是程序
回复 支持 反对

使用道具 举报

18

主题

380

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4437
QQ
威望
1484
贡献
781
兑换币
779
注册时间
2011-8-26
在线时间
1086 小时
3#
发表于 2013-1-21 14:32:28 | 只看该作者
你先用示波器看看你的摄像头有没有数据,然后要是有的话,在检查程序的问题
回复 支持 反对

使用道具 举报

54

主题

286

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2172
QQ
威望
1119
贡献
505
兑换币
476
注册时间
2012-8-28
在线时间
274 小时
4#
 楼主| 发表于 2013-1-21 14:40:19 | 只看该作者
cgtiso 发表于 2013-1-21 14:32
你先用示波器看看你的摄像头有没有数据,然后要是有的话,在检查程序的问题

目前在家 没有示波器啊 有没有别的方法来判断?
回复 支持 反对

使用道具 举报

54

主题

286

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2172
QQ
威望
1119
贡献
505
兑换币
476
注册时间
2012-8-28
在线时间
274 小时
5#
 楼主| 发表于 2013-1-21 14:41:07 | 只看该作者
sangxiaoran 发表于 2013-1-21 14:28
这问题太大了。。不好回答。大多数还是程序

帮忙看下 我捉摸还几天了 一直没头绪啊
#include "common.h"
#include "HAL_ADC.h"
#include "HAL_FTM.h"
#include "HAL_GPIO.h"
#include "HAL_UART.h"
unsigned char image_buf1[48][100];
unsigned char image_buf2[48][100];
unsigned char image_trans[48][100];
unsigned int image_row=0;
unsigned int image_column=0;
uint8 ADresult;
void waitimage(int num)    //行消隐过度;  
{
     unsigned int i,j;
    for(i=0;i<num;i++)
       for(j=0;j<33;j++);
}
void imageinit()
{
  for(image_row=0;image_row<48;image_row++)
    for(image_column=0;image_column<100;image_column++)
    {
      image_buf1[image_row][image_column]=0;
      image_buf2[image_row][image_column]=0;
    }  
  image_row=0;
  image_column=0;
}
/******************初始化**************************************/
void systeminit()
{
LPLD_GPIO_Init(PTB, 10, DIR_INPUT, INPUT_PDOWN, IRQC_RI );//行中断,PTB10
LPLD_GPIO_Init(PTC, 10, DIR_INPUT, INPUT_PDOWN, IRQC_RI );//场中断,PTC10
  LPLD_ADC_Init(ADC0, MODE_8, CONV_SING);//ad转换初始化,16位精度
   LPLD_UART_Init(UART1, 115200);      //串口初始化,TxdTC4  Rxd:PTC3
  imageinit();
}
/******************行中断触发采样************************/
void image_collect()
{

  DisableInterrupts;
  int count=100;
  waitimage(2);   
   if(image_row<48)
   {
      for(count=100;count>0;count--)
      {
          ADresult= LPLD_ADC_SE_Get(ADC0, 9);   //ptb1
          image_buf1[image_row][image_column++]=ADresult;
      }
   image_column=0;     
   image_row++;  

   }

   EnableInterrupts;

}



/************将得到的像素数据通过串口发送至上位机*************************/
void image_uart_send()
{
  image_row=0;
  image_column=0;
  LPLD_UART_PutChar(UART1,0x00);
  LPLD_UART_PutChar(UART1,0xff);
  LPLD_UART_PutChar(UART1,0x10);
  LPLD_UART_PutChar(UART1,0x00);
  for(image_row=0;image_row<48;image_row++)
  { for(image_column=0;image_column<100;image_column++)
    {


      LPLD_UART_PutChar(UART1,image_buf1[image_row][image_column]);
    }
  }
}
/***********************场中断对图像进行处理**********************************/
void image_process()
{
  DisableInterrupts;

  waitimage(1);


  LPLD_UART_RIE_Disable(UART1);
  image_uart_send();
image_row=0;
image_column=0;
  EnableInterrupts;

}
/**************************主函数*************************************/
void main (void)
{
  DisableInterrupts;
  systeminit();
  EnableInterrupts;
  LPLD_GPIO_SetIsr (PTB, image_collect);
   LPLD_GPIO_SetIsr (PTC, image_process);
   while(1);



}

回复 支持 反对

使用道具 举报

54

主题

286

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2172
QQ
威望
1119
贡献
505
兑换币
476
注册时间
2012-8-28
在线时间
274 小时
6#
 楼主| 发表于 2013-1-21 14:51:15 | 只看该作者
求指点啊!!!:'(:'(
回复 支持 反对

使用道具 举报

35

主题

899

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4149

优秀会员奖章活跃会员奖章论坛元老奖章

威望
1496
贡献
2087
兑换币
316
注册时间
2012-2-13
在线时间
283 小时
7#
发表于 2013-1-21 16:46:13 | 只看该作者
建议先测试AD好用不
回复 支持 反对

使用道具 举报

53

主题

641

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5159

优秀会员奖章活跃会员奖章论坛骨干奖章论坛元老奖章在线王奖章

威望
2314
贡献
1085
兑换币
996
注册时间
2012-8-8
在线时间
880 小时
毕业学校
dfzx
8#
发表于 2013-1-21 16:55:25 | 只看该作者
摄像头问题比较大
回复 支持 反对

使用道具 举报

18

主题

380

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4437
QQ
威望
1484
贡献
781
兑换币
779
注册时间
2011-8-26
在线时间
1086 小时
9#
发表于 2013-1-21 17:26:07 | 只看该作者
yangbw4978 发表于 2013-1-21 14:40
目前在家 没有示波器啊 有没有别的方法来判断?

这个,要不你用单片机一直读取一个引脚值,然后发上来,看有没有变化啊
回复 支持 反对

使用道具 举报

54

主题

286

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2172
QQ
威望
1119
贡献
505
兑换币
476
注册时间
2012-8-28
在线时间
274 小时
10#
 楼主| 发表于 2013-1-21 19:46:59 | 只看该作者
cgtiso 发表于 2013-1-21 17:26
这个,要不你用单片机一直读取一个引脚值,然后发上来,看有没有变化啊

多谢指点 我有思路了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-20 20:45 , Processed in 0.049458 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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