智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2199|回复: 15
打印 上一主题 下一主题

摄像头调试问题!!!!!!!!!!!!

[复制链接]

4

主题

97

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3035
威望
1488
贡献
917
兑换币
931
注册时间
2014-11-9
在线时间
315 小时
毕业学校
南昌工程学院
跳转到指定楼层
1#
发表于 2015-1-29 13:05:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5贡献
为什么我一打开串口助手就不断的接收到1,硬件都连接好了

回复

使用道具 举报

1

主题

22

帖子

0

精华

高级会员

Rank: 4

积分
850
威望
335
贡献
405
兑换币
215
注册时间
2014-6-20
在线时间
55 小时
2#
发表于 2015-1-30 22:06:41 | 只看该作者
我也试过采集的全是0 后来检查后是接线的问题 你再确认一下那些线有没接好 还有波特率有没设置好
回复

使用道具 举报

4

主题

97

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3035
威望
1488
贡献
917
兑换币
931
注册时间
2014-11-9
在线时间
315 小时
毕业学校
南昌工程学院
3#
 楼主| 发表于 2015-1-31 12:11:51 | 只看该作者
firelvw 发表于 2015-1-30 22:06
我也试过采集的全是0 后来检查后是接线的问题 你再确认一下那些线有没接好 还有波特率有没设置好

但是我的把摄像头放到光线强的地方会出现0,也就是说传出的数据会变化

回复

使用道具 举报

19

主题

730

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2390
威望
1180
贡献
718
兑换币
762
注册时间
2014-7-14
在线时间
246 小时
4#
发表于 2015-1-31 12:25:17 | 只看该作者
朝廷 发表于 2015-1-31 12:11
但是我的把摄像头放到光线强的地方会出现0,也就是说传出的数据会变化

阈值
回复

使用道具 举报

4

主题

97

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3035
威望
1488
贡献
917
兑换币
931
注册时间
2014-11-9
在线时间
315 小时
毕业学校
南昌工程学院
5#
 楼主| 发表于 2015-1-31 12:30:16 | 只看该作者
╭ァ简简单单、 发表于 2015-1-31 12:25
阈值

上位机上不能显示出图像,这也和阀值有关?
回复

使用道具 举报

19

主题

730

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2390
威望
1180
贡献
718
兑换币
762
注册时间
2014-7-14
在线时间
246 小时
6#
发表于 2015-1-31 12:30:54 | 只看该作者
朝廷 发表于 2015-1-31 12:30
上位机上不能显示出图像,这也和阀值有关?

既然能发送0 1,就能显示图像
回复

使用道具 举报

4

主题

97

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3035
威望
1488
贡献
917
兑换币
931
注册时间
2014-11-9
在线时间
315 小时
毕业学校
南昌工程学院
7#
 楼主| 发表于 2015-1-31 12:37:42 | 只看该作者
╭ァ简简单单、 发表于 2015-1-31 12:30
既然能发送0 1,就能显示图像

但是上位机上一片空白
回复

使用道具 举报

4

主题

97

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3035
威望
1488
贡献
917
兑换币
931
注册时间
2014-11-9
在线时间
315 小时
毕业学校
南昌工程学院
8#
 楼主| 发表于 2015-1-31 12:45:03 | 只看该作者
朝廷 发表于 2015-1-31 12:37
但是上位机上一片空白

这个程序有问题吗?
/************************************************************
OV7620测试代码    基于MC9S12XS128

接线关系:
PA0~PA7--------Y0~Y7   数据
PH0------------VSY     场同步  
PH1------------HRE     行同步
B0-------------SCL     SCCB通信时钟
B1-------------SDA     SCCB通信数据
如果不用IIC通信,B0、B1可以不接。


淘宝店:http://sogadz.taobao.com
************************************************************/
/*---------------------------------------------------------*/
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */

#define  BUS_CLOCK                   24000000           //总线频率
#define  OSC_CLOCK                   16000000           //晶振频率
#define  BAUD 115200                    //串口波特率

#define ROW     40        //定义图像行数:40行
#define COLUMN  120       //定义图像列数:120列

unsigned char VSYN_counter=0;       //场计数值
unsigned char HREF_counter=0;       //行计数值

unsigned char Data[ROW][COLUMN];    //图像数组

unsigned int line=0;
unsigned char  THRESHOLD=65;  //黑白二值化图像门槛值值(随环境光变换而变化)


/*************************************************************/
/*                      初始化锁相环                         */
/*************************************************************/
void INIT_PLL(void)
{
    CLKSEL &= 0x7f;       //设置OSCCLK作为系统时钟
    PLLCTL &= 0x8F;       //禁止锁相环

    //PLLCLK=2×OSCCLK×(SYNDIV+1)/(REFDIV+1), fbus=PLLCLK/2
    #if(BUS_CLOCK == 120000000)
        SYNR = 0xcd;
    #elif(BUS_CLOCK == 104000000)
      SYNR = 0xcc;
    #elif(BUS_CLOCK == 96000000)
      SYNR = 0xcb;
    #elif(BUS_CLOCK == 88000000)
      SYNR = 0xca;
    #elif(BUS_CLOCK == 80000000)
      SYNR = 0xc9;
    #elif(BUS_CLOCK == 72000000)
      SYNR = 0xc8;
    #elif(BUS_CLOCK == 64000000)
      SYNR = 0xc7;
    #elif(BUS_CLOCK == 56000000)
      SYNR = 0xc6;
    #elif(BUS_CLOCK == 48000000)
      SYNR = 0xc5;
    #elif(BUS_CLOCK == 40000000)
      SYNR = 0x44;
    #elif(BUS_CLOCK == 32000000)
      SYNR = 0x43;     
    #elif(BUS_CLOCK == 24000000)
      SYNR = 0x42;
    #elif(BUS_CLOCK == 16000000)
      SYNR = 0x01;
   #endif

    REFDV = 0x81;
    PLLCTL |=0x70;  //使能锁相环
    asm NOP;
    asm NOP;
    while(!(CRGFLG&0x08)); //PLLCLK锁定
    CLKSEL |= 0x80;        //设置PLLCLK为系统时钟
}

/*************************************************************/
/*                        初始化SCI                          */
/*************************************************************/
void INIT_SCI(void)
{

  SCI0BD = BUS_CLOCK/16/BAUD;   //设置SCI0波特率为9600
  SCI0CR1 = 0x00;       //设置SCI0为正常模式,八位数据位,无奇偶校验
  SCI0CR2 = 0x08;       //允许发送数据,禁止中断功能
}

/*************************************************************/
/*                       串口发送函数                        */
/*************************************************************/
void SCI_send(unsigned char data)
{
  while(!SCI0SR1_TDRE);       //等待发送数据寄存器(缓冲器)为空
  SCI0DRL = data;
}

/*************************************************************/
/*                       初始化按键                          */
/*************************************************************/
void init_PH(void)
{
     PPSH = 0x02;                      //PTH1上升沿触发中断,PTH0下降沿触发中断
     PIFH = 0xff;                                        //对PIFH的每一位写1来清除标志位;
     PIEH = 0x03;                      //中断使能寄存器;
     DDRH = 0x00;         //输入
}


/*************************************************************/
/*                       串口发送数据                        */
/*************************************************************/
void send_data(void)
{
  unsigned char i,j;
  for(i = 0;i< ROW;i++)
  {
    for(j = 0;j < COLUMN ;j++)
    {
        if(Data[j]>THRESHOLD)
            SCI_send('0');
        else
            SCI_send('1');        //判断为黑色
    }
    SCI_send('\r');
    SCI_send('\n');      //换行
  }
  SCI_send('\r');
  SCI_send('\n');      //换行
  SCI_send('\r');
  SCI_send('\n');      //换行
  SCI_send('\r');
  SCI_send('\n');      //换行

}

/*************************************************************/
/*                     H口中断函数                           */
/*************************************************************/
#pragma CODE_SEG __NEAR_SEG NON_BANKED
interrupt void PTH_inter(void)
{
   if((PIFH&0x01)==0x01)     //判断中断标志,场中断信号
   {
      PIFH = 0x03;     //清除两个中断标志
      HREF_counter=0;
      VSYN_counter+=1;
      line=0;
   }

   if((PIFH&0x02)==0x02)   //判断中断标志,行中断信号
   {
      PIFH = 0x02;     //清除行中断标志
      line++;
      if (line<6 || line>240 )      
      {
        return;   
      }
      if(line%6==0)    //每个6行采集一行。
      {
          Data[HREF_counter][0] = PORTA;
          Data[HREF_counter][1] = PORTA;
          Data[HREF_counter][2] = PORTA;
          Data[HREF_counter][3] = PORTA;
          Data[HREF_counter][4] = PORTA;
          Data[HREF_counter][5] = PORTA;
          Data[HREF_counter][6] = PORTA;
          Data[HREF_counter][7] = PORTA;
          Data[HREF_counter][8] = PORTA;
          Data[HREF_counter][9] = PORTA;
          Data[HREF_counter][10] = PORTA;
          Data[HREF_counter][11] = PORTA;
          Data[HREF_counter][12] = PORTA;
          Data[HREF_counter][13] = PORTA;
          Data[HREF_counter][14] = PORTA;
          Data[HREF_counter][15] = PORTA;
          Data[HREF_counter][16] = PORTA;
          Data[HREF_counter][17] = PORTA;
          Data[HREF_counter][18] = PORTA;
          Data[HREF_counter][19] = PORTA;
          Data[HREF_counter][20] = PORTA;
          Data[HREF_counter][21] = PORTA;
          Data[HREF_counter][22] = PORTA;
          Data[HREF_counter][23] = PORTA;
          Data[HREF_counter][24] = PORTA;
          Data[HREF_counter][25] = PORTA;
          Data[HREF_counter][26] = PORTA;
          Data[HREF_counter][27] = PORTA;
          Data[HREF_counter][28] = PORTA;
          Data[HREF_counter][29] = PORTA;
          Data[HREF_counter][30] = PORTA;
          Data[HREF_counter][31] = PORTA;
          Data[HREF_counter][32] = PORTA;
          Data[HREF_counter][33] = PORTA;
          Data[HREF_counter][34] = PORTA;
          Data[HREF_counter][35] = PORTA;
          Data[HREF_counter][36] = PORTA;
          Data[HREF_counter][37] = PORTA;
          Data[HREF_counter][38] = PORTA;
          Data[HREF_counter][39] = PORTA;
          Data[HREF_counter][40] = PORTA;
          Data[HREF_counter][41] = PORTA;
          Data[HREF_counter][42] = PORTA;
          Data[HREF_counter][43] = PORTA;
          Data[HREF_counter][44] = PORTA;
          Data[HREF_counter][45] = PORTA;
          Data[HREF_counter][46] = PORTA;
          Data[HREF_counter][47] = PORTA;
          Data[HREF_counter][48] = PORTA;
          Data[HREF_counter][49] = PORTA;
          Data[HREF_counter][50] = PORTA;
          Data[HREF_counter][51] = PORTA;
          Data[HREF_counter][52] = PORTA;
          Data[HREF_counter][53] = PORTA;
          Data[HREF_counter][54] = PORTA;
          Data[HREF_counter][55] = PORTA;
          Data[HREF_counter][56] = PORTA;
          Data[HREF_counter][57] = PORTA;
          Data[HREF_counter][58] = PORTA;
          Data[HREF_counter][59] = PORTA;
          Data[HREF_counter][60] = PORTA;
          Data[HREF_counter][61] = PORTA;
          Data[HREF_counter][62] = PORTA;
          Data[HREF_counter][63] = PORTA;
          Data[HREF_counter][64] = PORTA;
          Data[HREF_counter][65] = PORTA;
          Data[HREF_counter][66] = PORTA;
          Data[HREF_counter][67] = PORTA;
          Data[HREF_counter][68] = PORTA;
          Data[HREF_counter][69] = PORTA;
          Data[HREF_counter][70] = PORTA;
          Data[HREF_counter][71] = PORTA;
          Data[HREF_counter][72] = PORTA;
          Data[HREF_counter][73] = PORTA;
          Data[HREF_counter][74] = PORTA;
          Data[HREF_counter][75] = PORTA;
          Data[HREF_counter][76] = PORTA;
          Data[HREF_counter][77] = PORTA;
          Data[HREF_counter][78] = PORTA;
          Data[HREF_counter][79] = PORTA;
          Data[HREF_counter][80] = PORTA;
          Data[HREF_counter][81] = PORTA;
          Data[HREF_counter][82] = PORTA;
          Data[HREF_counter][83] = PORTA;
          Data[HREF_counter][84] = PORTA;
          Data[HREF_counter][85] = PORTA;
          Data[HREF_counter][86] = PORTA;
          Data[HREF_counter][87] = PORTA;
          Data[HREF_counter][88] = PORTA;
          Data[HREF_counter][89] = PORTA;
          Data[HREF_counter][90] = PORTA;
          Data[HREF_counter][91] = PORTA;
          Data[HREF_counter][92] = PORTA;
          Data[HREF_counter][93] = PORTA;
          Data[HREF_counter][94] = PORTA;
          Data[HREF_counter][95] = PORTA;
          Data[HREF_counter][96] = PORTA;
          Data[HREF_counter][97] = PORTA;
          Data[HREF_counter][98] = PORTA;
          Data[HREF_counter][99] = PORTA;
          Data[HREF_counter][100] = PORTA;
          Data[HREF_counter][101] = PORTA;
          Data[HREF_counter][102] = PORTA;
          Data[HREF_counter][103] = PORTA;
          Data[HREF_counter][104] = PORTA;
          Data[HREF_counter][105] = PORTA;
          Data[HREF_counter][106] = PORTA;
          Data[HREF_counter][107] = PORTA;
          Data[HREF_counter][108] = PORTA;
          Data[HREF_counter][109] = PORTA;
          Data[HREF_counter][110] = PORTA;
          Data[HREF_counter][111] = PORTA;
          Data[HREF_counter][112] = PORTA;
          Data[HREF_counter][113] = PORTA;
          Data[HREF_counter][114] = PORTA;
          Data[HREF_counter][115] = PORTA;
          Data[HREF_counter][116] = PORTA;
          Data[HREF_counter][117] = PORTA;
          Data[HREF_counter][118] = PORTA;
          Data[HREF_counter][119] = PORTA;

          HREF_counter++;
      }
   }



}
#pragma CODE_SEG DEFAULT



/*************************************************************/
/*                         主函数                            */
/*************************************************************/
void main(void)
{
  INIT_PLL();
  INIT_SCI();
  init_PH();
  DDRA=0x00;
        EnableInterrupts;


  for(;;)
  {
      if(VSYN_counter!=0)
      {
          send_data();
          VSYN_counter=0;
      }

  }
}


回复

使用道具 举报

19

主题

730

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2390
威望
1180
贡献
718
兑换币
762
注册时间
2014-7-14
在线时间
246 小时
9#
发表于 2015-1-31 13:00:20 | 只看该作者
朝廷 发表于 2015-1-31 12:37
但是上位机上一片空白

那就用串口发送1  0试试看看是不是空白的
回复

使用道具 举报

19

主题

730

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2390
威望
1180
贡献
718
兑换币
762
注册时间
2014-7-14
在线时间
246 小时
10#
发表于 2015-1-31 13:01:02 | 只看该作者
朝廷 发表于 2015-1-31 12:30
上位机上不能显示出图像,这也和阀值有关?

话说我的数据是0x00 和0xff。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 19:04 , Processed in 0.081518 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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