OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2823|回复: 5

stm32f4接外部ov2640不显示图像

[复制链接]

3

主题

7

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2019-7-28
在线时间
5 小时
发表于 2019-7-29 18:32:54 | 显示全部楼层 |阅读模式
u8 OV2640_Init(void)
{
    u16 i=0;
    u16 reg;
    //ÉèÖÃIO            
  GPIO_InitTypeDef  GPIO_InitStructure;

  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOG, ENABLE);
  //GPIOG9,15³õʼ»¯ÉèÖÃ
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9|GPIO_Pin_15;//PG9,15ÍÆÍìÊä³ö
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; //ÍÆÍìÊä³ö
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//ÍÆÍìÊä³ö
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//100MHz
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//ÉÏÀ­
  GPIO_Init(GPIOG, &GPIO_InitStructure);//³õʼ»¯

     OV2640_PWDN=0;    //POWER ON
    delay_ms(10);
    OV2640_RST=0;    //¸´Î»OV2640
    delay_ms(10);
    OV2640_RST=1;    //½áÊø¸´Î»
  SCCB_Init();                //³õʼ»¯SCCB µÄIO¿Ú     
    SCCB_WR_Reg(OV2640_DSP_RA_DLMT, 0x01);    //²Ù×÷sensor¼Ä´æÆ÷
     SCCB_WR_Reg(OV2640_SENSOR_COM7, 0x80);    //Èí¸´Î»OV2640
    delay_ms(50);
    reg=SCCB_RD_Reg(OV2640_SENSOR_MIDH);    //¶ÁÈ¡³§¼ÒID ¸ß°Ëλ
    reg<<=8;
    reg|=SCCB_RD_Reg(OV2640_SENSOR_MIDL);    //&#182;&#193;&#200;&#161;&#179;§&#188;&#210;ID &#181;&#205;°&#203;&#206;&#187;
    if(reg!=OV2640_MID)
    {
        printf("MID:%d\r\n",reg);
        return 1;
    }
    reg=SCCB_RD_Reg(OV2640_SENSOR_PIDH);    //&#182;&#193;&#200;&#161;&#179;§&#188;&#210;ID &#184;&#223;°&#203;&#206;&#187;
    reg<<=8;
    reg|=SCCB_RD_Reg(OV2640_SENSOR_PIDL);    //&#182;&#193;&#200;&#161;&#179;§&#188;&#210;ID &#181;&#205;°&#203;&#206;&#187;
    if(reg!=OV2640_PID)
    {
        printf("HID:%d\r\n",reg);
        //return 2;
    }   
     //&#179;&#245;&#202;&#188;&#187;&#175; OV2640,&#178;&#201;&#211;&#195;SXGA·&#214;±&#230;&#194;&#202;(1600*1200)  
    for(i=0;i<sizeof(ov2640_sxga_init_reg_tbl)/2;i++)
    {
           SCCB_WR_Reg(ov2640_sxga_init_reg_tbl[i][0],ov2640_sxga_init_reg_tbl[i][1]);
     }
      return 0x00;     //ok
}
//OV2640&#199;&#208;&#187;&#187;&#206;&#170;JPEG&#196;&#163;&#202;&#189;
void OV2640_JPEG_Mode(void)
{
    u16 i=0;
    //&#201;è&#214;&#195;:YUV422&#184;&#241;&#202;&#189;
    for(i=0;i<(sizeof(ov2640_yuv422_reg_tbl)/2);i++)
    {
        SCCB_WR_Reg(ov2640_yuv422_reg_tbl[i][0],ov2640_yuv422_reg_tbl[i][1]);
    }
   
    //&#201;è&#214;&#195;:&#202;&#228;&#179;&#246;JPEG&#202;&#253;&#190;&#221;
    for(i=0;i<(sizeof(ov2640_jpeg_reg_tbl)/2);i++)
    {
        SCCB_WR_Reg(ov2640_jpeg_reg_tbl[i][0],ov2640_jpeg_reg_tbl[i][1]);  
    }  
}
//OV2640&#199;&#208;&#187;&#187;&#206;&#170;RGB565&#196;&#163;&#202;&#189;
void OV2640_RGB565_Mode(void)
{
    u16 i=0;
    //&#201;è&#214;&#195;:RGB565&#202;&#228;&#179;&#246;
    for(i=0;i<(sizeof(ov2640_rgb565_reg_tbl)/2);i++)
    {
        SCCB_WR_Reg(ov2640_rgb565_reg_tbl[i][0],ov2640_rgb565_reg_tbl[i][1]);
    }
}
//×&#212;&#182;&#175;&#198;&#216;&#185;&#226;&#201;è&#214;&#195;&#178;&#206;&#202;&#253;±í,&#214;§&#179;&#214;5&#184;&#246;&#181;&#200;&#188;&#182;
const static u8 OV2640_AUTOEXPOSURE_LEVEL[5][8]=
{
    {
        0xFF,0x01,
        0x24,0x20,
        0x25,0x18,
        0x26,0x60,
    },
    {
        0xFF,0x01,
        0x24,0x34,
        0x25,0x1c,
        0x26,0x00,
    },
    {
        0xFF,0x01,   
        0x24,0x3e,   
        0x25,0x38,
        0x26,0x81,
    },
    {
        0xFF,0x01,
        0x24,0x48,
        0x25,0x40,
        0x26,0x81,
    },
    {
        0xFF,0x01,   
        0x24,0x58,   
        0x25,0x50,   
        0x26,0x92,   
    },
};
//OV2640×&#212;&#182;&#175;&#198;&#216;&#185;&#226;&#181;&#200;&#188;&#182;&#201;è&#214;&#195;
//level:0~4
void OV2640_Auto_Exposure(u8 level)
{  
    u8 i;
    u8 *p=(u8*)OV2640_AUTOEXPOSURE_LEVEL[level];
    for(i=0;i<4;i++)
    {
        SCCB_WR_Reg(p[i*2],p[i*2+1]);
    }
}  
//°×&#198;&#189;&#186;&#226;&#201;è&#214;&#195;
//0:×&#212;&#182;&#175;
//1:&#204;&#171;&#209;&#244;sunny
//2,&#210;&#245;&#204;ìcloudy
//3,°ì&#185;&#171;&#202;&#210;office
//4,&#188;&#210;&#192;&#239;home
void OV2640_Light_Mode(u8 mode)
{
    u8 regccval=0X5E;//Sunny
    u8 regcdval=0X41;
    u8 regceval=0X54;
    switch(mode)
    {
        case 0://auto
            SCCB_WR_Reg(0XFF,0X00);     
            SCCB_WR_Reg(0XC7,0X10);//AWB ON
            return;      
        case 2://cloudy
            regccval=0X65;
            regcdval=0X41;
            regceval=0X4F;
            break;   
        case 3://office
            regccval=0X52;
            regcdval=0X41;
            regceval=0X66;
            break;   
        case 4://home
            regccval=0X42;
            regcdval=0X3F;
            regceval=0X71;
            break;   
    }
    SCCB_WR_Reg(0XFF,0X00);     
    SCCB_WR_Reg(0XC7,0X40);    //AWB OFF
    SCCB_WR_Reg(0XCC,regccval);
    SCCB_WR_Reg(0XCD,regcdval);
    SCCB_WR_Reg(0XCE,regceval);  
}
//&#201;&#171;&#182;&#200;&#201;è&#214;&#195;
//0:-2
//1:-1
//2,0
//3,+1
//4,+2
void OV2640_Color_Saturation(u8 sat)
{
    u8 reg7dval=((sat+2)<<4)|0X08;
    SCCB_WR_Reg(0XFF,0X00);        
    SCCB_WR_Reg(0X7C,0X00);        
    SCCB_WR_Reg(0X7D,0X02);               
    SCCB_WR_Reg(0X7C,0X03);            
    SCCB_WR_Reg(0X7D,reg7dval);            
    SCCB_WR_Reg(0X7D,reg7dval);         
}
//&#193;&#193;&#182;&#200;&#201;è&#214;&#195;
//00X00)-2
//10X10)-1
//2,(0X20) 0
//3,(0X30)+1
//4,(0X40)+2
void OV2640_Brightness(u8 bright)
{
  SCCB_WR_Reg(0xff, 0x00);
  SCCB_WR_Reg(0x7c, 0x00);
  SCCB_WR_Reg(0x7d, 0x04);
  SCCB_WR_Reg(0x7c, 0x09);
  SCCB_WR_Reg(0x7d, bright<<4);
  SCCB_WR_Reg(0x7d, 0x00);
}
//&#182;&#212;±&#200;&#182;&#200;&#201;è&#214;&#195;
//0:-2
//1:-1
//2,0
//3,+1
//4,+2
void OV2640_Contrast(u8 contrast)
{
    u8 reg7d0val=0X20;//&#196;&#172;&#200;&#207;&#206;&#170;&#198;&#213;&#205;¨&#196;&#163;&#202;&#189;
    u8 reg7d1val=0X20;
      switch(contrast)
    {
        case 0://-2
            reg7d0val=0X18;         
            reg7d1val=0X34;         
            break;   
        case 1://-1
            reg7d0val=0X1C;         
            reg7d1val=0X2A;         
            break;   
        case 3://1
            reg7d0val=0X24;         
            reg7d1val=0X16;         
            break;   
        case 4://2
            reg7d0val=0X28;         
            reg7d1val=0X0C;         
            break;   
    }
    SCCB_WR_Reg(0xff,0x00);
    SCCB_WR_Reg(0x7c,0x00);
    SCCB_WR_Reg(0x7d,0x04);
    SCCB_WR_Reg(0x7c,0x07);
    SCCB_WR_Reg(0x7d,0x20);
    SCCB_WR_Reg(0x7d,reg7d0val);
    SCCB_WR_Reg(0x7d,reg7d1val);
    SCCB_WR_Reg(0x7d,0x06);
}
//&#204;&#216;&#208;§&#201;è&#214;&#195;
//0:&#198;&#213;&#205;¨&#196;&#163;&#202;&#189;   
//1,&#184;&#186;&#198;&#172;
//2,&#186;&#218;°×   
//3,&#198;&#171;&#186;ì&#201;&#171;
//4,&#198;&#171;&#194;&#204;&#201;&#171;
//5,&#198;&#171;&#192;&#182;&#201;&#171;
//6,&#184;&#180;&#185;&#197;        
void OV2640_Special_Effects(u8 eft)
{
    u8 reg7d0val=0X00;//&#196;&#172;&#200;&#207;&#206;&#170;&#198;&#213;&#205;¨&#196;&#163;&#202;&#189;
    u8 reg7d1val=0X80;
    u8 reg7d2val=0X80;
    switch(eft)
    {
        case 1://&#184;&#186;&#198;&#172;
            reg7d0val=0X40;
            break;   
        case 2://&#186;&#218;°×
            reg7d0val=0X18;
            break;     
        case 3://&#198;&#171;&#186;ì&#201;&#171;
            reg7d0val=0X18;
            reg7d1val=0X40;
            reg7d2val=0XC0;
            break;   
        case 4://&#198;&#171;&#194;&#204;&#201;&#171;
            reg7d0val=0X18;
            reg7d1val=0X40;
            reg7d2val=0X40;
            break;   
        case 5://&#198;&#171;&#192;&#182;&#201;&#171;
            reg7d0val=0X18;
            reg7d1val=0XA0;
            reg7d2val=0X40;
            break;   
        case 6://&#184;&#180;&#185;&#197;
            reg7d0val=0X18;
            reg7d1val=0X40;
            reg7d2val=0XA6;
            break;     
    }
    SCCB_WR_Reg(0xff,0x00);
    SCCB_WR_Reg(0x7c,0x00);
    SCCB_WR_Reg(0x7d,reg7d0val);
    SCCB_WR_Reg(0x7c,0x05);
    SCCB_WR_Reg(0x7d,reg7d1val);
    SCCB_WR_Reg(0x7d,reg7d2val);
}
//&#178;&#202;&#204;&#245;&#178;&#226;&#202;&#212;
//sw:0,&#185;&#216;±&#213;&#178;&#202;&#204;&#245;
//   1,&#191;&#170;&#198;&#244;&#178;&#202;&#204;&#245;(×&#162;&#210;&#226;OV2640&#181;&#196;&#178;&#202;&#204;&#245;&#202;&#199;&#181;&#254;&#188;&#211;&#212;&#218;&#205;&#188;&#207;&#241;&#201;&#207;&#195;&#230;&#181;&#196;)
void OV2640_Color_Bar(u8 sw)
{
    u8 reg;
    SCCB_WR_Reg(0XFF,0X01);
    reg=SCCB_RD_Reg(0X12);
    reg&=~(1<<1);
    if(sw)reg|=1<<1;
    SCCB_WR_Reg(0X12,reg);
}
//&#201;è&#214;&#195;&#205;&#188;&#207;&#241;&#202;&#228;&#179;&#246;&#180;°&#191;&#218;
//sx,sy,&#198;&#240;&#202;&#188;&#181;&#216;&#214;·
//width,height:&#191;í&#182;&#200;(&#182;&#212;&#211;&#166;:horizontal)&#186;&#205;&#184;&#223;&#182;&#200;(&#182;&#212;&#211;&#166;:vertical)
void OV2640_Window_Set(u16 sx,u16 sy,u16 width,u16 height)
{
    u16 endx;
    u16 endy;
    u8 temp;
    endx=sx+width/2;    //V*2
     endy=sy+height/2;
   
    SCCB_WR_Reg(0XFF,0X01);            
    temp=SCCB_RD_Reg(0X03);                //&#182;&#193;&#200;&#161;Vref&#214;&#174;&#199;°&#181;&#196;&#214;&#181;
    temp&=0XF0;
    temp|=((endy&0X03)<<2)|(sy&0X03);
    SCCB_WR_Reg(0X03,temp);                //&#201;è&#214;&#195;Vref&#181;&#196;start&#186;&#205;end&#181;&#196;×&#238;&#181;&#205;2&#206;&#187;
    SCCB_WR_Reg(0X19,sy>>2);            //&#201;è&#214;&#195;Vref&#181;&#196;start&#184;&#223;8&#206;&#187;
    SCCB_WR_Reg(0X1A,endy>>2);            //&#201;è&#214;&#195;Vref&#181;&#196;end&#181;&#196;&#184;&#223;8&#206;&#187;
   
    temp=SCCB_RD_Reg(0X32);                //&#182;&#193;&#200;&#161;Href&#214;&#174;&#199;°&#181;&#196;&#214;&#181;
    temp&=0XC0;
    temp|=((endx&0X07)<<3)|(sx&0X07);
    SCCB_WR_Reg(0X32,temp);                //&#201;è&#214;&#195;Href&#181;&#196;start&#186;&#205;end&#181;&#196;×&#238;&#181;&#205;3&#206;&#187;
    SCCB_WR_Reg(0X17,sx>>3);            //&#201;è&#214;&#195;Href&#181;&#196;start&#184;&#223;8&#206;&#187;
    SCCB_WR_Reg(0X18,endx>>3);            //&#201;è&#214;&#195;Href&#181;&#196;end&#181;&#196;&#184;&#223;8&#206;&#187;
}
//&#201;è&#214;&#195;&#205;&#188;&#207;&#241;&#202;&#228;&#179;&#246;&#180;ó&#208;&#161;
//OV2640&#202;&#228;&#179;&#246;&#205;&#188;&#207;&#241;&#181;&#196;&#180;ó&#208;&#161;(·&#214;±&#230;&#194;&#202;),&#205;ê&#200;&#171;&#211;&#201;&#184;&#196;&#186;&#175;&#202;&#253;&#200;·&#182;¨
//width,height:&#191;í&#182;&#200;(&#182;&#212;&#211;&#166;:horizontal)&#186;&#205;&#184;&#223;&#182;&#200;(&#182;&#212;&#211;&#166;:vertical),width&#186;&#205;height±&#216;&#208;&#235;&#202;&#199;4&#181;&#196;±&#182;&#202;&#253;
//·&#181;&#187;&#216;&#214;&#181;:0,&#201;è&#214;&#195;&#179;&#201;&#185;&#166;
//    &#198;&#228;&#203;&#251;,&#201;è&#214;&#195;&#202;§°&#220;
u8 OV2640_OutSize_Set(u16 width,u16 height)
{
    u16 outh;
    u16 outw;
    u8 temp;
    if(width%4)return 1;
    if(height%4)return 2;
    outw=width/4;
    outh=height/4;
    SCCB_WR_Reg(0XFF,0X00);   
    SCCB_WR_Reg(0XE0,0X04);            
    SCCB_WR_Reg(0X5A,outw&0XFF);        //&#201;è&#214;&#195;OUTW&#181;&#196;&#181;&#205;°&#203;&#206;&#187;
    SCCB_WR_Reg(0X5B,outh&0XFF);        //&#201;è&#214;&#195;OUTH&#181;&#196;&#181;&#205;°&#203;&#206;&#187;
    temp=(outw>>8)&0X03;
    temp|=(outh>>6)&0X04;
    SCCB_WR_Reg(0X5C,temp);                //&#201;è&#214;&#195;OUTH/OUTW&#181;&#196;&#184;&#223;&#206;&#187;
    SCCB_WR_Reg(0XE0,0X00);   
    return 0;
}
//&#201;è&#214;&#195;&#205;&#188;&#207;&#241;&#191;&#170;&#180;°&#180;ó&#208;&#161;
//&#211;&#201;:OV2640_ImageSize_Set&#200;·&#182;¨&#180;&#171;&#184;&#208;&#198;÷&#202;&#228;&#179;&#246;·&#214;±&#230;&#194;&#202;&#180;&#211;&#180;ó&#208;&#161;.
//&#184;&#195;&#186;&#175;&#202;&#253;&#212;ò&#212;&#218;&#213;&#226;&#184;&#246;·&#182;&#206;§&#201;&#207;&#195;&#230;&#189;&#248;&#208;&#208;&#191;&#170;&#180;°,&#211;&#195;&#211;&#218;OV2640_OutSize_Set&#181;&#196;&#202;&#228;&#179;&#246;
//×&#162;&#210;&#226;:±&#190;&#186;&#175;&#202;&#253;&#181;&#196;&#191;í&#182;&#200;&#186;&#205;&#184;&#223;&#182;&#200;,±&#216;&#208;&#235;&#180;ó&#211;&#218;&#181;&#200;&#211;&#218;OV2640_OutSize_Set&#186;&#175;&#202;&#253;&#181;&#196;&#191;í&#182;&#200;&#186;&#205;&#184;&#223;&#182;&#200;
//     OV2640_OutSize_Set&#201;è&#214;&#195;&#181;&#196;&#191;í&#182;&#200;&#186;&#205;&#184;&#223;&#182;&#200;,&#184;ù&#190;&#221;±&#190;&#186;&#175;&#202;&#253;&#201;è&#214;&#195;&#181;&#196;&#191;í&#182;&#200;&#186;&#205;&#184;&#223;&#182;&#200;,&#211;&#201;DSP
//     ×&#212;&#182;&#175;&#188;&#198;&#203;&#227;&#203;&#245;·&#197;±&#200;&#192;&#253;,&#202;&#228;&#179;&#246;&#184;&#248;&#205;&#226;&#178;&#191;&#201;è±&#184;.
//width,height:&#191;í&#182;&#200;(&#182;&#212;&#211;&#166;:horizontal)&#186;&#205;&#184;&#223;&#182;&#200;(&#182;&#212;&#211;&#166;:vertical),width&#186;&#205;height±&#216;&#208;&#235;&#202;&#199;4&#181;&#196;±&#182;&#202;&#253;
//·&#181;&#187;&#216;&#214;&#181;:0,&#201;è&#214;&#195;&#179;&#201;&#185;&#166;
//    &#198;&#228;&#203;&#251;,&#201;è&#214;&#195;&#202;§°&#220;
u8 OV2640_ImageWin_Set(u16 offx,u16 offy,u16 width,u16 height)
{
    u16 hsize;
    u16 vsize;
    u8 temp;
    if(width%4)return 1;
    if(height%4)return 2;
    hsize=width/4;
    vsize=height/4;
    SCCB_WR_Reg(0XFF,0X00);   
    SCCB_WR_Reg(0XE0,0X04);                    
    SCCB_WR_Reg(0X51,hsize&0XFF);        //&#201;è&#214;&#195;H_SIZE&#181;&#196;&#181;&#205;°&#203;&#206;&#187;
    SCCB_WR_Reg(0X52,vsize&0XFF);        //&#201;è&#214;&#195;V_SIZE&#181;&#196;&#181;&#205;°&#203;&#206;&#187;
    SCCB_WR_Reg(0X53,offx&0XFF);        //&#201;è&#214;&#195;offx&#181;&#196;&#181;&#205;°&#203;&#206;&#187;
    SCCB_WR_Reg(0X54,offy&0XFF);        //&#201;è&#214;&#195;offy&#181;&#196;&#181;&#205;°&#203;&#206;&#187;
    temp=(vsize>>1)&0X80;
    temp|=(offy>>4)&0X70;
    temp|=(hsize>>5)&0X08;
    temp|=(offx>>8)&0X07;
    SCCB_WR_Reg(0X55,temp);                //&#201;è&#214;&#195;H_SIZE/V_SIZE/OFFX,OFFY&#181;&#196;&#184;&#223;&#206;&#187;
    SCCB_WR_Reg(0X57,(hsize>>2)&0X80);    //&#201;è&#214;&#195;H_SIZE/V_SIZE/OFFX,OFFY&#181;&#196;&#184;&#223;&#206;&#187;
    SCCB_WR_Reg(0XE0,0X00);   
    return 0;
}
//&#184;&#195;&#186;&#175;&#202;&#253;&#201;è&#214;&#195;&#205;&#188;&#207;&#241;&#179;&#223;&#180;&#231;&#180;ó&#208;&#161;,&#210;&#178;&#190;&#205;&#202;&#199;&#203;ù&#209;&#161;&#184;&#241;&#202;&#189;&#181;&#196;&#202;&#228;&#179;&#246;·&#214;±&#230;&#194;&#202;
//UXGA:1600*1200,SVGA:800*600,CIF:352*288
//width,height:&#205;&#188;&#207;&#241;&#191;í&#182;&#200;&#186;&#205;&#205;&#188;&#207;&#241;&#184;&#223;&#182;&#200;
//·&#181;&#187;&#216;&#214;&#181;:0,&#201;è&#214;&#195;&#179;&#201;&#185;&#166;
//    &#198;&#228;&#203;&#251;,&#201;è&#214;&#195;&#202;§°&#220;
u8 OV2640_ImageSize_Set(u16 width,u16 height)
{
    u8 temp;
    SCCB_WR_Reg(0XFF,0X00);            
    SCCB_WR_Reg(0XE0,0X04);            
    SCCB_WR_Reg(0XC0,(width)>>3&0XFF);        //&#201;è&#214;&#195;HSIZE&#181;&#196;10:3&#206;&#187;
    SCCB_WR_Reg(0XC1,(height)>>3&0XFF);        //&#201;è&#214;&#195;VSIZE&#181;&#196;10:3&#206;&#187;
    temp=(width&0X07)<<3;
    temp|=height&0X07;
    temp|=(width>>4)&0X80;
    SCCB_WR_Reg(0X8C,temp);   
    SCCB_WR_Reg(0XE0,0X00);                 
    return 0;
}
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

109

主题

5564

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10567
金钱
10567
注册时间
2017-2-18
在线时间
1913 小时
发表于 2019-7-29 19:18:24 | 显示全部楼层
回复 支持 反对

使用道具 举报

3

主题

7

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2019-7-28
在线时间
5 小时
 楼主| 发表于 2019-7-29 19:35:46 | 显示全部楼层
peng1554 发表于 2019-7-29 19:18
用的原子的OV2640不 ?

是正点原子的ov2640
回复 支持 反对

使用道具 举报

3

主题

7

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2019-7-28
在线时间
5 小时
 楼主| 发表于 2019-7-30 15:24:47 | 显示全部楼层
peng1554 发表于 2019-7-29 19:18
用的原子的OV2640不 ?

大神帮帮忙啊,LCD显示不出摄像头的图像
回复 支持 反对

使用道具 举报

109

主题

5564

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10567
金钱
10567
注册时间
2017-2-18
在线时间
1913 小时
发表于 2019-7-31 14:54:28 | 显示全部楼层
L624333492 发表于 2019-7-30 15:24
大神帮帮忙啊,LCD显示不出摄像头的图像

你那边能打印出摄像头的ID不?
回复 支持 反对

使用道具 举报

3

主题

7

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2019-7-28
在线时间
5 小时
 楼主| 发表于 2019-7-31 17:06:37 | 显示全部楼层
peng1554 发表于 2019-7-31 14:54
你那边能打印出摄像头的ID不?

我加您微信吧,或者您加我。现在是图像可以显示了,就是不能实时显示,中间有横线一直移动。微信:L624333492    谢谢
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-15 13:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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