📄 mr8910.h
字号:
/**
* \addtogroup iWatch MR8910 driver
* @{
*/
/**
* \file mr8910.h
* \brief MR8910 driver header file.
*/
#ifndef __MR8910_H__
#define __MR8910_H__
#include <absacc.h>
#include "kernel/system.h"
#include "user_config.h"
#if (INCLUDE_WEB_CAM && (WEBCAM_CAMERA==CAMERA_MR8910))
#define MR8910_BASE 0x220000
#define MR8910_END 0x22FFFF
/* MR8910 register address */
#define MR8910_REG0 0x220000 //(MR8910_BASE + 0)
#define MR8910_REG1 0x221000 //(MR8910_BASE + 1)
#define MR8910_REG2 0x222000 //(MR8910_BASE + 2)
#define MR8910_REG3 0x223000 //(MR8910_BASE + 3)
#define MR8910_REG4 0x224000 //(MR8910_BASE + 4)
#define MR8910_REG5 0x225000 //(MR8910_BASE + 5)
#define MR8910_REG6 0x226000 //(MR8910_BASE + 6)
#define MR8910_REG7 0x227000 //(MR8910_BASE + 7)
/* MR8910 function register mapping */
#define MR8910_DMA_REG MR8910_REG0
#define MR8910_PARA1_REG MR8910_REG1
#define MR8910_PARA2_REG MR8910_REG2
#define MR8910_PARA3_REG MR8910_REG3
#define MR8910_PARA4_REG MR8910_REG4
#define MR8910_RESERVED_REG MR8910_REG5
#define MR8910_SUB_COMMAND_REG MR8910_REG6
#define MR8910_COMMAND_REG MR8910_REG7
/* MR8910 sub-command define */
#define MR8910_SUB_CMD_SET 0x10
#define MR8910_SUB_CMD_SET2 0x11
#define MR8910_SUB_CMD_READ 0x20
#define MR8910_SUB_CMD_READ2 0x21
#define MR8910_SUB_CMD_CHANGEMODE 0x15
/* MR8910 command define */
#define MR8910_CMD_IMAGE_QUALITY 0x38
#define MR8910_CMD_IMAGE_MODE 0x42
#define MR8910_CMD_EXPOSURE_TIME 0x43
#define MR8910_CMD_FREQUENCE 0x51
#define MR8910_CMD_DATA_SIZE 0x90
#define MR8910_CMD_FLUSH_BUFFER 0x94
#define MR8910_CMD_JPEG_HEADER 0xB5
#define MR8910_CMD_APPEND_HEADER 0xB6
#define MR8910_CMD_RESET 0xD5
#define MR8910_CMD_VERSION 0xE0
/* command operation status */
#define MR8910_ERROR 0x01
#define MR8910_BUSY 0x80
/* Image mode define */
#define MR8910_REG_WRITE(value, addr) FVAR(unsigned char, addr) = value
#define MR8910_REG_READ(addr) (FVAR(unsigned char, addr))
#define MR8910_status() (FVAR(unsigned char, MR8910_REG6))
/* External function prototype defination */
void mr8910_init(void);
void mr8910_run(void);
void mr8910_set_imagemode(UINT8 image_mode);
void mr8910_set_quality(UINT8 quality);
void mr8910_set_exposure_time(UINT8 time);
void mr8910_set_frequence(UINT8 freq);
void mr8910_get_jpegheader(UINT8 header[], UINT16 *header_len);
UINT16 mr8910_image_read(UINT8 *pBuf, UINT16 buf_size);
//extern UINT8 FAR g_image_buf[];
//extern UINT32 XDATA g_image_size;
#endif
#endif /*__MR8910_H__*/
/** @} */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -