智能车制作

 找回密码
 注册

扫一扫,访问微社区

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

采集到的数据每隔十几个点就有灰度值较低的出现?

[复制链接]

0

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
威望
203
贡献
22
兑换币
0
注册时间
2008-6-21
在线时间
3 小时
跳转到指定楼层
1#
发表于 2009-6-17 08:12:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的是CMOA摄像头,用串口调试助手显示采集到数组,很奇怪的是每隔13或14个点就有几个灰度值低的点,有一行采集到的数据如下:
178 168 168 179 175 205 205 192 0 0 10 170 170 170 181 171 173 173 176 197 209 209 60 0 0 11 160 169 169 174 173 179 179 185 207 207 204 10 10 10 100 165 179 179 182 175 175 179 173 205 205 200 0 12 12 155 168 168 176 163 174 174 182 197 209 209 49 0 13 13 183 187 187 209 209 209 14 12 89 89 173 171 170 170 170 180 180 176 210 205 205 0 13 164 164 169 176 176 181 173

其他行的数据也都差不多,不知道为什么,麻烦大家看看,谢谢了!

0

主题

7

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
威望
254
贡献
72
兑换币
50
注册时间
2009-2-17
在线时间
14 小时
2#
发表于 2009-6-17 09:05:36 | 只看该作者
发程序上来
回复 支持 反对

使用道具 举报

0

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
威望
203
贡献
22
兑换币
0
注册时间
2008-6-21
在线时间
3 小时
3#
 楼主| 发表于 2009-6-17 15:46:59 | 只看该作者
下面的分别是初始化和采集程序,麻烦了,谢谢!
void ATD0_init(void)  //AD转换模块初始化
{ int i;
ATD0CTL2=0X80;    /*AD模块上电  手动清除转换完成位 无等待模式 中断禁止 禁止外部触发*/
for(i=0;i<100;i++);
ATD0CTL3=0X08;     /*每序列长度为1 无FIFO转换结果放在相应的寄存器中 冷冻状态下继续工作*/
ATD0CTL4=0X85;     //八位精度 采样时间:2个时钟时间,12倍分频2MHz
ATD0CTL5=0XA0;      //结果寄存器数据对齐方式 右对齐 无符号 连续队列转换 单通道 通道0
ATD0CTL5_SCAN=1;
ATD0DIEN=0X00;     //当作为模拟量输入时禁止数字输入  
  }

#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 8 Port0_interrupt(void)   //行中断
{ int i;
s_row++;
if((s_row>40)&&(s_row%5==0))
{
for(i=0;i<=250;i++);       //为图像信号滞后行同步信号时间 需根据时钟具体设置
for(i=0;i<100;i++){
  while(!ATD0STAT0_SCF);
   signal[row][i]=ATD0DR0L;
     ATD0STAT0_SCF=1;
}     
row++;
}
if(row>15) {
frameover=1;
s_row=0;
row=0;
TIE=0X00;                                          
}
}

下面的是主函数中的显示函数
  while(PORTA_BIT0==1&&frameover==0)
  TIE=0X01;
  if(frameover==1){
     for(i=0;i<15;i++) {
      for(j=0;j<100;j++)
      printp("%d ",signal[i][j]) ;  
      printp("d \n");
     }
  TIE=0X01;
  frameover==0;
}
回复 支持 反对

使用道具 举报

0

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
威望
203
贡献
22
兑换币
0
注册时间
2008-6-21
在线时间
3 小时
4#
 楼主| 发表于 2009-6-18 21:01:04 | 只看该作者
不知道是不是摄像头问题,还是采集时序不对?会不会是信号噪声,采集信号就是这样?
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
威望
254
贡献
72
兑换币
50
注册时间
2009-2-17
在线时间
14 小时
5#
发表于 2009-6-18 23:34:27 | 只看该作者
for(i=0;i<=250;i++);       //为图像信号滞后行同步信号时间 需根据时钟具体设置
for(i=0;i<100;i++){
这句怎么回事?
还有把你的printp 也发上来,估计那里也有问题
回复 支持 反对

使用道具 举报

14

主题

929

帖子

1

精华

功勋会员

WJ

Rank: 10Rank: 10Rank: 10

积分
6304

特殊贡献奖章

威望
1456
贡献
4674
兑换币
17
注册时间
2008-4-6
在线时间
87 小时
6#
发表于 2009-6-19 09:04:09 | 只看该作者
首先保证串口不会乱发数据,建议先在RAM里看,不要动不动就发一串数据到PC。
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

注册会员

Rank: 2

积分
112
威望
172
贡献
20
兑换币
0
注册时间
2009-7-8
在线时间
8 小时
7#
发表于 2009-11-28 16:31:43 | 只看该作者
回复 支持 反对

使用道具 举报

1

主题

53

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
436
QQ
威望
320
贡献
62
兑换币
0
注册时间
2011-1-17
在线时间
27 小时
8#
发表于 2011-5-4 17:15:08 | 只看该作者
回复 1# rong


    麻烦问一下  你的问题解决了没?
我也出现了同样的问题
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-6 15:34 , Processed in 0.283114 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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