⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 camera.c

📁 mips cpu 君正4730 4740的 ucosii 源码 包括系统 摄像头 网络 文件系统等等测试
💻 C
字号:
/* * Camera utilities interface */#include "camera.h"#include "fs_api.h"#ifndef NULL#define NULL	0#endifvoid camera_open(void)// 打开摄像头程序 {       cim_init();//初始化#ifdef CONFIG_OV7660//默认是7660	init_ov7660();#endif#ifdef CONFIG_KSMOV7649	init_ksmov7649();#endif#ifdef CONFIG_HV7131	init_hv7131();	/* enable sensor*/	unsigned int val ;	val = sensor_read_reg( 0x02);	val &= ~(0x08);	sensor_write_reg(0x02, val);#endif}void camera_close(void)//关闭摄像头{	/* disable sensor */#ifdef CONFIG_HV7131	unsigned int val;	val = sensor_read_reg( 0x02);	val |= (0x08);	sensor_write_reg(0x02, val);#endif /* CONFIG_HV7131 */	cim_close();// cim port?}void camera_read(unsigned char *buf, int size){ 	cim_read(buf);//需要修改的程序}/* * Common utils */void save_frame(char *filename, void *buf, int size)//存成文件?{  	FS_FILE *ffd; //没有文件系统 能放到内存么?	int count;	if ((ffd = FS_FOpen(filename,"wb")) == NULL) {		printf("Open file %s failed\n", filename);	}	if ((count = FS_FWrite(buf, 1, size, ffd)) != size) {		printf("Error when write to %s.\n", filename);	}	FS_FClose(ffd);}void read_frame(char *filename, void *buf, int size)//读取 给lcd用么?{	FS_FILE *fd;	int count;	if ((fd = FS_FOpen(filename, "rb")) == NULL) {		printf("Failed to open file %s\n", filename);	}		if ((count = FS_FRead(buf, 1, size, fd)) != size) {		printf("Error when read %s. %s\n", filename);	}	FS_FClose(fd);}#define NULLRGB565 0x0000void rgb_convert(int o_xres, int o_yres, int n_xres, int n_yres, int start_x, int start_y, unsigned char *o_buf, unsigned char *n_buf)//颜色转换{	int x, y;	unsigned short *o_ptr = (unsigned short *)o_buf;	unsigned short *n_ptr = (unsigned short *)n_buf;	for (y = 0; y < start_y; y++) {		for (x = 0; x < n_xres; x++)			*n_ptr++ = NULLRGB565;	}	for (y = start_y; y < start_y + o_yres; y++) {		for (x = 0; x < start_x; x++)			*n_ptr++ = NULLRGB565;		for (x = start_x; x < start_x + o_xres; x++)			*n_ptr++ = *o_ptr++;		for (x = start_x + o_xres; x < n_xres; x++)			*n_ptr++ = NULLRGB565;	}	for (y = start_y + o_yres; y < n_yres; y++) {		for (x = 0; x < n_xres; x++)			*n_ptr++ = NULLRGB565;	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -