OpenEdv-开源电子网

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

关于mini版实现照相机的一系列问题

[复制链接]

2

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2019-3-1
在线时间
60 小时
发表于 2019-9-29 21:47:15 | 显示全部楼层 |阅读模式
5金钱
看了战舰可以实现,心想mini应该问题也不大,然后进行了一些c文件的移植,整个工程没有报错,但是程序运行的时候在bmp这边出问题了,不知道是哪里出错了,bmp是移植战舰程序里面的bmp文件(一些gif.c,integer.c也是移植这里边的),报错是出现在写入文件错误这里,跟进去之后发现这个if(res==FR_OK)没进去,对此有点疑惑,搞不清是哪里出问题了,特此来寻求各位的帮助。

捕获111.PNG
捕获.PNG
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2019-3-1
在线时间
60 小时
 楼主| 发表于 2019-9-29 21:50:46 | 显示全部楼层
补充一下,跑去换了一下mini自带的bmp那些文件,也是会出现这个问题,是不是我哪里没学好
回复

使用道具 举报

2

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2019-3-1
在线时间
60 小时
 楼主| 发表于 2019-9-30 10:43:21 | 显示全部楼层

//文件名自增(避免覆盖)
//组合成:形如"0HOTO/PIC13141.bmp"的文件名
void camera_new_pathname(u8 *pname)
{         
        u8 res;                                         
        u16 index=0;
        while(index<0XFFFF)
        {
                sprintf((char*)pname,"0HOTO/PIC%05d.bmp",index);
                res=f_open(ftemp,(const TCHAR*)pname,FA_READ);//尝试打开这个文件
                if(res==FR_NO_FILE)break;                //该文件名不存在=正是我们需要的.
                index++;
        }
}
是不是这个函数出问题了呢
回复

使用道具 举报

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14422
金钱
14422
注册时间
2018-8-3
在线时间
1157 小时
发表于 2019-9-30 12:47:15 | 显示全部楼层
驱动的是哪款摄像头
回复

使用道具 举报

2

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2019-3-1
在线时间
60 小时
 楼主| 发表于 2019-9-30 15:49:14 | 显示全部楼层
翼行园子 发表于 2019-9-30 12:47
驱动的是哪款摄像头

ov7679,整个sd卡,ov7670初始化程序没出问题
回复

使用道具 举报

2

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2019-3-1
在线时间
60 小时
 楼主| 发表于 2019-9-30 16:53:13 | 显示全部楼层
本帖最后由 想吃狗粮 于 2019-10-3 16:48 编辑

#include "sys.h"
#include "usart.h"               
#include "delay.h"        
#include "led.h"   
#include "lcd.h"
#include "usmart.h"
#include "ff.h"  
#include "flash.h"
#include "exfuns.h"   
#include "text.h"
#include "piclib.h"        
#include "string.h"               
#include "math.h"         
#include "ov7670.h"
#include "exti.h"
#include "timer.h"
#include "stm32f10x.h"
#include "key.h"  
#include "malloc.h"
//ALIENTEK Mini STM32开发板扩展实验9
//摄像头实验
//技术支持:www.openedv.com
//广州市星翼电子科技有限公司  


extern u8 ov_sta;        //在exit.c里面定义
extern u8 ov_frame;        //在timer.c里面定义               

FRESULT res_sd;//文件操作结果
FIL fnew; //文件对
UINT fnum; //文件成功读写数量

//更新LCD显示
void camera_refresh(void)
{
        u32 j;
         u16 color;         
        if(ov_sta==2)
        {
                LCD_Scan_Dir(U2D_L2R);                //从上到下,从左到右
                LCD_SetCursor(0x00,0x0000);        //设置光标位置
                LCD_WriteRAM_Prepare();     //开始写入GRAM        
                 OV7670_CS=0;         
                 OV7670_RRST=0;                                //开始复位读指针
                OV7670_RCK=0;
                OV7670_RCK=1;
                OV7670_RCK=0;
                OV7670_RRST=1;                                //复位读指针结束
                OV7670_RCK=1;  
                for(j=0;j<76800;j++)
                {
                        GPIOB->CRL=0X88888888;                  
                        OV7670_RCK=0;
                        color=OV7670_DATA;                //读数据
                        OV7670_RCK=1;         
                        color<<=8;                                          
                         OV7670_RCK=0;
                        color|=OV7670_DATA;                //读数据                  
                        OV7670_RCK=1;
                        GPIOB->CRL=0X33333333;                                                         
                        LCD_WR_DATA(color);         
                }  
                 OV7670_CS=1;                                                         
                OV7670_RCK=0;
                OV7670_RCK=1;
                EXTI->R=1<<15;                     //清除LINE8上的中断标志位
                ov_sta=0;                                        //开始下一次采集
                 ov_frame++;
                LCD_Scan_Dir(DFT_SCAN_DIR);        //恢复默认扫描方向                                                     
        }
}        

//文件名自增(避免覆盖)
//组合成:形如"0HOTO/PIC13141.bmp"的文件名
void camera_new_pathname(u8 *pname)
{         
        u8 res;                                         
        u16 index=0;
        while(index<0XFFFF)
        {
                sprintf((char*)pname,"0HOTO/PIC%05d.bmp",index);
                res=f_open(ftemp,(const TCHAR*)pname,FA_READ);//尝试打开这个文件
                if(res==FR_NO_FILE)break;                //该文件名不存在=正是我们需要的.
                index++;
        }
}

回复

使用道具 举报

2

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2019-3-1
在线时间
60 小时
 楼主| 发表于 2019-10-3 16:49:21 | 显示全部楼层
找到原因了,困扰我很多天,现在想实现查看照片这个功能,有没有大佬提供一下思路哈
回复

使用道具 举报

2

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2019-3-1
在线时间
60 小时
 楼主| 发表于 2019-10-3 17:27:07 | 显示全部楼层
现在实现了查看照片这个功能了,现在想的是,能不能拍摄视频然后存起来,拍照的时候看起来会一帧一帧的,会不会影响到效果呢
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 06:09

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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