智能车制作

标题: OV7620的图像采集行中断函数问题 [打印本页]

作者: xushaoqing    时间: 2012-4-9 17:57
标题: OV7620的图像采集行中断函数问题
这个程序的行中断代码中有几句不是太明白,希望做过图像采集的给点指导,程序中红色的语句不懂干嘛的,但它应该是作为采集像素点的一些条件,求指导
/*****************************************************************************************************
**                            OV6620 ImageAcquisition
**                        (c) Copyright 2009-2010, DEMOK   
**                              All Rights Reserved  
**
**                                    V1.1.0
***************************************************************************************************/
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
#define ROW 36
#define COLUMN 70
#define ROW_START 11  
#define ROW_MAX   280
#define THRESHOLD  0x20
unsigned char Buffer[ROW][COLUMN];
unsigned char Buffer_Temp[ROW][COLUMN];
unsigned char SampleFlag=0  ;  
unsigned char Interval;
unsigned int m=0;
unsigned int n=0;
unsigned int Line=0;

/***************************************************
** 函数名称: PLL_Init
** 功能描述: 时钟初始化函数
** 说明:
****************************************************/
void PLL_Init(void)   
{                    
   CLKSEL=0x00;  //48mhz
   PLLCTL_PLLON=1;
   SYNR=0XC0 | 0X05;
   REFDV=0X80 | 0X01;
   POSTDIV=0X00;
   _asm(nop);
   _asm(nop);
   while(0==CRGFLG_LOCK);//锁相环锁定
   CLKSEL_PLLSEL=1;//选定外部时钟  
}
/***************************************************
** 函数名称: TIM_Init
** 功能描述: 行场中断初始化函数
** 说明:
****************************************************/
void TIM_Init(void)
{
   TIOS=0x00;          //外部输入捕捉 0,1 通道  
   TCTL4=0x09;         //通道0上升沿触发,通道 1 下降沿触发
   TSCR1=0x80;         //使能
   TIE=0x03;           //通道 0,1 中断使能
   TFLG1=0xFF;         //清中断标志位
}
/***************************************************
** 函数名称: IO_Init
** 功能描述: IO口初始化函数
** 说明:
****************************************************/
void IO_Init(void)
{
    DDRA=0X00;
}
/***************************************************
** 函数名称: SCI_Init
** 功能描述: 串口初始化函数
** 说明:
****************************************************/
void SCI_Init()
{
    SCI0BD=312;         //9600bps  Baud Rate=BusClock/(16*SCIBD)
    SCI0CR1=0;         //正常8位模式,无奇偶校验
    SCI0CR2=0X2C;      //发送允许   接受中断允许  
}
/**************************************************
** 函数名称: SCI_Write
** 功能描述: 给串行口写一个字符数据
** 输    入: SendChar为写入字符
** 输    出: 无
** 说明:  
***************************************************/
void SCI_Write(unsigned char SendChar)
{
    while (!(SCI0SR1&0x80));
    SCI0DRH=0;
    SCI0DRL=SendChar;
}
/**************************************************
** 函数名称: Image_Binaryzation
** 功能描述: 图像数据二值化
** 输    入: row
** 输    出: 无
** 说明:  
***************************************************/      
void Image_Binaryzation(unsigned int row)  //二值化程序
{
  unsigned char *p_Image;
  unsigned char *q_Image;
  q_Image=&Buffer_Temp[row][0];
  
  for(p_Image=&Buffer[row][0];p_Image<=&Buffer[row][COLUMN-1];p_Image++)      
    {*(q_Image++)=*p_Image; }  
}
/**************************************************
** 函数名称: Process
** 功能描述: 图像数据处理
** 输    入: 无
** 输    出: 无
** 说明:  
***************************************************/
void Process()
{
  unsigned char i,j;
  for(i=0;i<ROW;i++)
    {
    for(j=0;j<COLUMN;j++)
      {
       if(Buffer_Temp[j]>THRESHOLD)
       SCI_Write('1') ;
       else  SCI_Write('0') ;
      }
    SCI_Write(0x0D);
    SCI_Write(0X0A);
  }
}
/***************************************************
** 函数名称: main
** 功能描述: 主函数
** 说明:
****************************************************/        
void main(void)
{
  /* put your own code here */
  PLL_Init();
  TIM_Init();
  IO_Init();
  SCI_Init();
EnableInterrupts;
  for(;;)
  {
  Process();
  
  //  _FEED_COP(); /* feeds the dog */
  } /* loop forever */
  /* please make sure that you never leave main */
}
/**************************************************
** 函数名称: 中断处理函数
** 功能描述: 行中断处理函数
** 输    入: 无
** 输    出: 无
** 说明:  
***************************************************/
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 8  PT0_Interrupt()
{
  TFLG1_C0F=1;
  Line++;     
  if ( SampleFlag == 0 || Line<ROW_START ||  Line>ROW_MAX )
  {
    return;
   }      
     
  if(Line<=132)                Interval=12;                                           //   这里
  else if(Line>132&&Line<=200) Interval=8;
  else if(Line>200&&Line<=248) Interval=6;
  else                         Interval=4;        
      
  if(Line%Interval==0)
  {
  Buffer[m][0]=PORTA;  Buffer[m][n+0]=PORTA;
  Buffer[m][1]=PORTA;  Buffer[m][n+1]=PORTA;
  Buffer[m][2]=PORTA;  Buffer[m][n+2]=PORTA;
  Buffer[m][3]=PORTA;  //Buffer[m][n+3]=PORTA;
  Buffer[m][4]=PORTA;  Buffer[m][n+4]=PORTA;
  Buffer[m][5]=PORTA;  Buffer[m][n+5]=PORTA;
  Buffer[m][6]=PORTA;  Buffer[m][n+6]=PORTA;
  Buffer[m][7]=PORTA;  //Buffer[m][n+7]=PORTA;
  Buffer[m][8]=PORTA;  Buffer[m][n+8]=PORTA;
  Buffer[m][9]=PORTA;  Buffer[m][n+9]=PORTA;
  Buffer[m][10]=PORTA; Buffer[m][n+10]=PORTA;
  Buffer[m][11]=PORTA; //Buffer[m][n+11]=PORTA;
  Buffer[m][12]=PORTA; Buffer[m][n+12]=PORTA;
  Buffer[m][13]=PORTA; Buffer[m][n+13]=PORTA;
  Buffer[m][14]=PORTA; Buffer[m][n+14]=PORTA;
  Buffer[m][15]=PORTA; //Buffer[m][n+15]=PORTA;
  Buffer[m][16]=PORTA; Buffer[m][n+16]=PORTA;
  Buffer[m][17]=PORTA; Buffer[m][n+17]=PORTA;
  Buffer[m][18]=PORTA; Buffer[m][n+18]=PORTA;
  Buffer[m][19]=PORTA; //Buffer[m][n+19]=PORTA;
  Buffer[m][20]=PORTA; Buffer[m][n+20]=PORTA;
  Buffer[m][21]=PORTA; Buffer[m][n+21]=PORTA;
  Buffer[m][22]=PORTA; Buffer[m][n+22]=PORTA;
  Buffer[m][23]=PORTA; //Buffer[m][n+23]=PORTA;
  Buffer[m][24]=PORTA; Buffer[m][n+24]=PORTA;
  Buffer[m][25]=PORTA; Buffer[m][n+25]=PORTA;
  Buffer[m][26]=PORTA; Buffer[m][n+26]=PORTA;
  Buffer[m][27]=PORTA; //Buffer[m][n+27]=PORTA;
  Buffer[m][28]=PORTA; Buffer[m][n+28]=PORTA;
  Buffer[m][29]=PORTA; Buffer[m][n+29]=PORTA;
  Buffer[m][30]=PORTA; Buffer[m][n+30]=PORTA;
  Buffer[m][31]=PORTA; //Buffer[m][n+31]=PORTA;
  Buffer[m][32]=PORTA; Buffer[m][n+32]=PORTA;
  Buffer[m][33]=PORTA; Buffer[m][n+33]=PORTA;
  Buffer[m][34]=PORTA; Buffer[m][n+34]=PORTA;
  Buffer[m][35]=PORTA; //Buffer[m][n+35]=PORTA;
  Buffer[m][36]=PORTA; Buffer[m][n+36]=PORTA;
  Buffer[m][37]=PORTA; Buffer[m][n+37]=PORTA;
  Buffer[m][38]=PORTA; Buffer[m][n+38]=PORTA;
  Buffer[m][39]=PORTA; //Buffer[m][n+39]=PORTA;
  Buffer[m][40]=PORTA; Buffer[m][n+40]=PORTA;
  Buffer[m][41]=PORTA; Buffer[m][n+41]=PORTA;
  Buffer[m][42]=PORTA; Buffer[m][n+42]=PORTA;
  Buffer[m][43]=PORTA; //Buffer[m][n+43]=PORTA;
  Buffer[m][44]=PORTA; Buffer[m][n+44]=PORTA;
  Buffer[m][45]=PORTA; Buffer[m][n+45]=PORTA;
  Buffer[m][46]=PORTA; Buffer[m][n+46]=PORTA;
  Buffer[m][47]=PORTA; //Buffer[m][n+47]=PORTA;
  Buffer[m][48]=PORTA; Buffer[m][n+48]=PORTA;
  Buffer[m][49]=PORTA; Buffer[m][n+49]=PORTA;
  Buffer[m][50]=PORTA; Buffer[m][n+50]=PORTA;
  Buffer[m][51]=PORTA; //Buffer[m][n+51]=PORTA;
  Buffer[m][52]=PORTA; Buffer[m][n+52]=PORTA;
  Buffer[m][53]=PORTA; Buffer[m][n+53]=PORTA;
  Buffer[m][54]=PORTA; Buffer[m][n+54]=PORTA;
  Buffer[m][55]=PORTA; //Buffer[m][n+55]=PORTA;
  Buffer[m][56]=PORTA; Buffer[m][n+56]=PORTA;
  Buffer[m][57]=PORTA; Buffer[m][n+57]=PORTA;
  Buffer[m][58]=PORTA; Buffer[m][n+58]=PORTA;
  Buffer[m][59]=PORTA; //Buffer[m][n+59]=PORTA;
  Buffer[m][60]=PORTA; Buffer[m][n+60]=PORTA;
  Buffer[m][61]=PORTA; Buffer[m][n+61]=PORTA;
  Buffer[m][62]=PORTA; Buffer[m][n+62]=PORTA;
  Buffer[m][63]=PORTA; //Buffer[m][n+63]=PORTA;
  Buffer[m][64]=PORTA; Buffer[m][n+64]=PORTA;
  Buffer[m][65]=PORTA; Buffer[m][n+65]=PORTA;
  Buffer[m][66]=PORTA; Buffer[m][n+66]=PORTA;
  Buffer[m][67]=PORTA; //Buffer[m][n+67]=PORTA;
  Buffer[m][68]=PORTA; Buffer[m][n+68]=PORTA;
  Buffer[m][69]=PORTA; Buffer[m][n+69]=PORTA;
  m++;
  }
  Image_Binaryzation(m);
}
/**************************************************
** 函数名称: 中断处理函数
** 功能描述: 场中断处理函数
** 输    入: 无
** 输    出: 无
** 说明:  
***************************************************/
#pragma CODE_SEG __NEAR_SEG NON_BANKED  
void interrupt 9 PT1_Interrupt()
{
  TFLG1_C1F=1;
  TFLG1_C0F=1;
  m=0;         
  Line=0;      
  SampleFlag=1;
}

作者: xushaoqing    时间: 2012-4-9 17:59
走过的路过的,不要吝啬指示下哈,膜拜
作者: wacsysys    时间: 2012-4-9 18:29
顶下~但是不懂
作者: xushaoqing    时间: 2012-4-9 18:38
就没人知道吗?摄像头组人呢
作者: xushaoqing    时间: 2012-4-9 19:09
懂了,貌似是采样间隔,从程序可以看到,LINE值越小,采样间隔越大,应该是一副图像的上面几行不需要采样那么多(拍摄到图像的远处),LINE大说明是图像的下面几行,也就是离车子很近的地方,采样多点,程序真的要仔细考虑,不知道自己理解的对不对,学习飞思卡尔也已经快3天了···继续加油
作者: txan0630    时间: 2012-4-9 20:45
lz说的很对  就是这个意思啊 !
作者: xushaoqing    时间: 2012-4-9 21:30
txan0630 发表于 2012-4-9 20:45
lz说的很对  就是这个意思啊 !

谢谢啊,我才学飞思卡尔的,3天了,现在正准备使用OV7620。还有个问题,你看这段程序是不是说明OV7620上电后,Y0-Y7一直在发送数据给IO口,单片机只要负责不断的接受就行了,因为他每次都是Buffer[m]=PORTA;
Buffer[m][0]=PORTA;  Buffer[m][n+0]=PORTA;
  Buffer[m][1]=PORTA;  Buffer[m][n+1]=PORTA;
  Buffer[m][2]=PORTA;  Buffer[m][n+2]=PORTA;
  Buffer[m][3]=PORTA;  //Buffer[m][n+3]=PORTA;
  Buffer[m][4]=PORTA;  Buffer[m][n+4]=PORTA;
  Buffer[m][5]=PORTA;  Buffer[m][n+5]=PORTA;
  Buffer[m][6]=PORTA;  Buffer[m][n+6]=PORTA;
  Buffer[m][7]=PORTA;  //Buffer[m][n+7]=PORTA;
  Buffer[m][8]=PORTA;  Buffer[m][n+8]=PORTA;
  Buffer[m][9]=PORTA;  Buffer[m][n+9]=PORTA;
  Buffer[m][10]=PORTA; Buffer[m][n+10]=PORTA;
  Buffer[m][11]=PORTA; //Buffer[m][n+11]=PORTA;
  Buffer[m][12]=PORTA; Buffer[m][n+12]=PORTA;
  Buffer[m][13]=PORTA; Buffer[m][n+13]=PORTA;
  Buffer[m][14]=PORTA; Buffer[m][n+14]=PORTA;
  Buffer[m][15]=PORTA; //Buffer[m][n+15]=PORTA;
  Buffer[m][16]=PORTA; Buffer[m][n+16]=PORTA;
  Buffer[m][17]=PORTA; Buffer[m][n+17]=PORTA;
  Buffer[m][18]=PORTA; Buffer[m][n+18]=PORTA;
  Buffer[m][19]=PORTA; //Buffer[m][n+19]=PORTA;
  Buffer[m][20]=PORTA; Buffer[m][n+20]=PORTA;
  Buffer[m][21]=PORTA; Buffer[m][n+21]=PORTA;
  Buffer[m][22]=PORTA; Buffer[m][n+22]=PORTA;
  Buffer[m][23]=PORTA; //Buffer[m][n+23]=PORTA;
  Buffer[m][24]=PORTA; Buffer[m][n+24]=PORTA;
  Buffer[m][25]=PORTA; Buffer[m][n+25]=PORTA;
  Buffer[m][26]=PORTA; Buffer[m][n+26]=PORTA;
  Buffer[m][27]=PORTA; //Buffer[m][n+27]=PORTA;
  Buffer[m][28]=PORTA; Buffer[m][n+28]=PORTA;
  Buffer[m][29]=PORTA; Buffer[m][n+29]=PORTA;
  Buffer[m][30]=PORTA; Buffer[m][n+30]=PORTA;
  Buffer[m][31]=PORTA; //Buffer[m][n+31]=PORTA;
  Buffer[m][32]=PORTA; Buffer[m][n+32]=PORTA;
  Buffer[m][33]=PORTA; Buffer[m][n+33]=PORTA;
  Buffer[m][34]=PORTA; Buffer[m][n+34]=PORTA;
  Buffer[m][35]=PORTA; //Buffer[m][n+35]=PORTA;
  Buffer[m][36]=PORTA; Buffer[m][n+36]=PORTA;
  Buffer[m][37]=PORTA; Buffer[m][n+37]=PORTA;
  Buffer[m][38]=PORTA; Buffer[m][n+38]=PORTA;
  Buffer[m][39]=PORTA; //Buffer[m][n+39]=PORTA;
  Buffer[m][40]=PORTA; Buffer[m][n+40]=PORTA;
  Buffer[m][41]=PORTA; Buffer[m][n+41]=PORTA;
  Buffer[m][42]=PORTA; Buffer[m][n+42]=PORTA;
  Buffer[m][43]=PORTA; //Buffer[m][n+43]=PORTA;
  Buffer[m][44]=PORTA; Buffer[m][n+44]=PORTA;
  Buffer[m][45]=PORTA; Buffer[m][n+45]=PORTA;
  Buffer[m][46]=PORTA; Buffer[m][n+46]=PORTA;
  Buffer[m][47]=PORTA; //Buffer[m][n+47]=PORTA;
  Buffer[m][48]=PORTA; Buffer[m][n+48]=PORTA;
  Buffer[m][49]=PORTA; Buffer[m][n+49]=PORTA;
  Buffer[m][50]=PORTA; Buffer[m][n+50]=PORTA;
  Buffer[m][51]=PORTA; //Buffer[m][n+51]=PORTA;
  Buffer[m][52]=PORTA; Buffer[m][n+52]=PORTA;
  Buffer[m][53]=PORTA; Buffer[m][n+53]=PORTA;
  Buffer[m][54]=PORTA; Buffer[m][n+54]=PORTA;
  Buffer[m][55]=PORTA; //Buffer[m][n+55]=PORTA;
  Buffer[m][56]=PORTA; Buffer[m][n+56]=PORTA;
  Buffer[m][57]=PORTA; Buffer[m][n+57]=PORTA;
  Buffer[m][58]=PORTA; Buffer[m][n+58]=PORTA;
  Buffer[m][59]=PORTA; //Buffer[m][n+59]=PORTA;
  Buffer[m][60]=PORTA; Buffer[m][n+60]=PORTA;
  Buffer[m][61]=PORTA; Buffer[m][n+61]=PORTA;
  Buffer[m][62]=PORTA; Buffer[m][n+62]=PORTA;
  Buffer[m][63]=PORTA; //Buffer[m][n+63]=PORTA;
  Buffer[m][64]=PORTA; Buffer[m][n+64]=PORTA;
  Buffer[m][65]=PORTA; Buffer[m][n+65]=PORTA;
  Buffer[m][66]=PORTA; Buffer[m][n+66]=PORTA;
  Buffer[m][67]=PORTA; //Buffer[m][n+67]=PORTA;
  Buffer[m][68]=PORTA; Buffer[m][n+68]=PORTA;
  Buffer[m][69]=PORTA; Buffer[m][n+69]=PORTA;



作者: sonwendi    时间: 2012-4-9 22:03
本帖最后由 sonwendi 于 2012-4-9 22:10 编辑

就是PA口接在视频输出,一直可以读取。
前132行以内,每隔12行采集一次;132-200行,每隔8行采集一次;200-248每隔6行采集一次;剩下的每隔4行采集一次
。一共是采集10(132-11/12)+8(200-132/8)+8(248-200/6)+8(280-248/4)=34行.
原因是因为有梯形失真,近处的看得比较清楚,远处的都揪成一团,所以近处大概扫一眼,远处的需要慢慢看

作者: xushaoqing    时间: 2012-4-9 23:19
sonwendi 发表于 2012-4-9 22:03
就是PA口接在视频输出,一直可以读取。
前132行以内,每隔12行采集一次;132-200行,每隔8行采集一次;200 ...

谢谢!彻底懂了!
作者: txan0630    时间: 2012-4-10 16:24
sonwendi 发表于 2012-4-9 22:03
就是PA口接在视频输出,一直可以读取。
前132行以内,每隔12行采集一次;132-200行,每隔8行采集一次;200 ...

呵呵  受教了 ……

作者: 陈永胜    时间: 2012-4-29 09:47
sonwendi 发表于 2012-4-9 22:03
就是PA口接在视频输出,一直可以读取。
前132行以内,每隔12行采集一次;132-200行,每隔8行采集一次;200 ...

版主,问一下,在采集的时候是不是进入行中断之后for循环一直采集就行,再就是ov7620输出电压5V左右,而K10单片机工作电压3.3V有影响吗???再就是我的远场区数据不稳定,怎么回事???摄像头远场曝光严重怎么办(别说加偏振片啊,不管用)??
作者: sonwendi    时间: 2012-5-8 13:17
陈永胜 发表于 2012-4-29 09:47
版主,问一下,在采集的时候是不是进入行中断之后for循环一直采集就行,再就是ov7620输出电压5V左右,而K ...

你查一下datasheet,看看是否能支持5V的电压,不能的话就需要一个转换的芯片。
远处景象是比较模糊,但是不会变化很大的,一般看到两米多就差不多够了,如果有速度提升要求的话再把调整前瞻

作者: wangsh11    时间: 2012-5-8 16:19
sonwendi 发表于 2012-4-9 22:03
就是PA口接在视频输出,一直可以读取。
前132行以内,每隔12行采集一次;132-200行,每隔8行采集一次;200 ...


作者: 潞箬    时间: 2012-5-17 21:58
xushaoqing 发表于 2012-4-9 21:30
谢谢啊,我才学飞思卡尔的,3天了,现在正准备使用OV7620。还有个问题,你看这段程序是不是说明OV7620上电 ...

为什么执行这个程序,摄像头采集的都是00,貌似程序没有执行行中断void interrupt 8  PT0_Interrupt(),是直接跳到void interrupt 9 PT1_Interrupt(),为什么啊?感谢大神,这问题已经想好几天了,哎


作者: xinmengwangran    时间: 2012-5-18 09:06
呵呵 学习啦 这种写法 直接给采集的行 执行效率会高些吧
作者: 4rrr    时间: 2012-8-5 13:05
sonwendi 发表于 2012-5-8 13:17
你查一下datasheet,看看是否能支持5V的电压,不能的话就需要一个转换的芯片。
远处景象是比较模糊,但是 ...

请教一下大虾
void Image_Binaryzation(unsigned int row)  //二值化程序
{
  unsigned char *p_Image;
  unsigned char *q_Image;
  q_Image=&Buffer_Temp[row][0];
  
  for(p_Image=&Buffer[row][0];p_Image<=&Buffer[row][COLUMN-1];p_Image++)      
    {*(q_Image++)=*p_Image; }  
}
这段函数是实现了什么功能?还有
if(Line%Interval==0)
  {
  Buffer[m][0]=PORTA;  Buffer[m][n+0]=PORTA;
  Buffer[m][1]=PORTA;  Buffer[m][n+1]=PORTA;
  Buffer[m][2]=PORTA;  Buffer[m][n+2]=PORTA;
  Buffer[m][3]=PORTA;  //Buffer[m][n+3]=PORTA;
  Buffer[m][4]=PORTA;  Buffer[m][n+4]=PORTA;
  Buffer[m][5]=PORTA;  Buffer[m][n+5]=PORTA;
  Buffer[m][6]=PORTA;  Buffer[m][n+6]=PORTA;
  Buffer[m][7]=PORTA;  //Buffer[m][n+7]=PORTA;
;
  m++;
  }这里面前一列和后一列功能有什么不同,为什么有的还会加//呢?
感谢了!!!


作者: Roy罗先森    时间: 2012-11-1 11:30
sonwendi 发表于 2012-4-9 22:03
就是PA口接在视频输出,一直可以读取。
前132行以内,每隔12行采集一次;132-200行,每隔8行采集一次;200 ...

那请问这里的buffer[j]=PARTA[m][1],这里的n被赋值为0,那这条语句与PORTA[m][n+1]是同一个意思,请问这是为什么?有什么用意吗?
作者: sonwendi    时间: 2012-11-1 23:26
Roy罗先森 发表于 2012-11-1 11:30
那请问这里的buffer[j]=PARTA[m][1],这里的n被赋值为0,那这条语句与PORTA[m][n+1]是同一个意思,请问这是 ...

这个我也没看明白,就是同一个位置继续更新了一下像素点

作者: Roy罗先森    时间: 2012-11-2 09:26
sonwendi 发表于 2012-11-1 23:26
这个我也没看明白,就是同一个位置继续更新了一下像素点

哦,这样解释也可以,谢谢啦,还有就是你这头像太销魂啦

作者: Super_Player    时间: 2013-1-29 15:34
O(∩_∩)O~

作者: 雄霸天下    时间: 2013-3-3 16:40
哈哈,有道理
作者: freekarefly    时间: 2013-3-29 22:30

作者: AJ911    时间: 2013-7-13 20:19
sonwendi 发表于 2012-4-9 22:03
就是PA口接在视频输出,一直可以读取。
前132行以内,每隔12行采集一次;132-200行,每隔8行采集一次;200 ...

跪求头像出处!

作者: 有所作为TIME    时间: 2013-9-12 15:28
Buffer[m][0]=PORTA;  Buffer[m][n+0]=PORTA;
这条语句赋两次值是什么意思?
作者: 李洋洋    时间: 2013-9-29 14:01
你把行改成40,列120,程序能够用吗?
作者: 易寒    时间: 2014-3-30 22:11

顶下~但是不懂
作者: 旷野;-)    时间: 2014-4-24 20:29
budong

作者: 进击小将    时间: 2016-11-9 20:19

作者: znjqr    时间: 2016-11-10 13:04
lz说的很对  就是这个意思啊




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