OpenEdv-开源电子网

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

求解F103vet6驱动2640 串口发送jpeg到电脑上

[复制链接]

1

主题

6

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2020-4-3
在线时间
9 小时
发表于 2020-4-13 11:25:37 | 显示全部楼层 |阅读模式
1金钱
工程参照原子战舰版f103ov2640例程 代码如下void ov2640_jpg_photo(void)
{
        u32 i=0;
        u32 jpeglen=0;
        u8 *pbuf;
        u32 j=0;

        for(i=0;i<10;i++)                //丢弃10帧,等待OV2640自动调节好(曝光白平衡之类的)
        {                               
                while(OV2640_VSYNC==1);         
                while(OV2640_VSYNC==0);         
        }  
        while(OV2640_VSYNC==1)        //开始采集jpeg数据
        {
//                printf("帧开始\r\n");
                while(OV2640_HREF)
                {  
                        while(OV2640_PCLK==0);
                //        printf("pcld==0\r\n");
                        //i=OV2640_DATA;
                        ov2640_framebuf[jpeglen]=OV2640_DATA;
                        printf("%0X  ",OV2640_DATA);
                //        printf("出口\r\n");
                        while(OV2640_PCLK==1);  
                        jpeglen++;
//                      printf("0\r\n");
                }
        }


//        if(jpeglen!=0)
//        {                                printf("jpeg data size:%d\r\n",jpeglen);        //串口打印JPEG文件大小
//                pbuf=(u8*)ov2640_framebuf;
//                for(i=0;i<jpeglen;i++)//查找0XFF,0XD8
//                {
//                        if((pbuf[i]==0XFF)&&(pbuf[i+1]==0XD8))break;
//                }
//                if(i==jpeglen)
//                {
//                        printf("没有找到0xFF,0xD8\r\n");        
//                }
//                else                //找到了
//                {
//                        pbuf+=i;//偏移到0XFF,0XD8处
//                        for(j=0;j<jpeglen-i;j++)
//                        {
//                                printf("0x%02X,",*(pbuf+j));
//                        }
//                }               
//        }


                        }

由于找不到帧头程序一直卡在没有找到0xFF,0xD8里,我注释掉 显示所有数据 感觉接收到的数据很奇怪

微信图片_20200413112147.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

109

主题

5564

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10569
金钱
10569
注册时间
2017-2-18
在线时间
1913 小时
发表于 2020-4-13 15:05:02 | 显示全部楼层
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2020-4-3
在线时间
9 小时
 楼主| 发表于 2020-4-13 15:10:25 | 显示全部楼层
peng1554 发表于 2020-4-13 15:05
感觉输出的数不大对

是不太对  我看别人的图片数据都是带a b c d e f 的16进制数 我的数为啥是这样。。而且感觉每一行数据都重复了
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2020-4-3
在线时间
9 小时
 楼主| 发表于 2020-4-13 15:11:27 | 显示全部楼层
主函数是这样的
int main(void)
{       

  
  /* 初始化USART 配置模式为 115200 8-N-1 */
  USART_Config();
        delay_init();                                    //延时初始化  
       

           while(OV2640_Init())                        //初始化OV2640
        {
                printf("初始化OV2640失败\r\n");
                delay_ms(500);
            printf("正尝试重新初始化...\r\n");
                delay_ms(500);
        }
        printf("初始化OV2640成功\r\n");
        delay_ms(1500);      
                               
      
                        OV2640_JPEG_Mode();
                        OV2640_OutSize_Set(OV2640_JPEG_WIDTH,OV2640_JPEG_HEIGHT);
                        SCCB_WR_Reg(0XFF,0X00);
                        SCCB_WR_Reg(0XD3,30);
                        SCCB_WR_Reg(0XFF,0X01);
                        SCCB_WR_Reg(0X11,0X1);
      ov2640_speed_ctrl();
        

       
  while(1)
        {       
//                while(OV2640_VSYNC)
//                {       
                ov2640_jpg_photo();
               
        }       
}
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2020-4-3
在线时间
9 小时
 楼主| 发表于 2020-4-13 16:16:42 | 显示全部楼层
为啥我的数据没有帧头 而且数据有点奇怪。。。
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2020-4-3
在线时间
9 小时
 楼主| 发表于 2020-4-13 16:29:10 | 显示全部楼层
就是找不到帧头 。。 初始化是成功的
微信图片_20200413162807.png
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2020-4-6
在线时间
11 小时
发表于 2020-4-18 16:40:07 | 显示全部楼层
楼主搞定了吗
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-25 14:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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