Maix Bit(K210) 裸机开发教程(六)摄像头使用

  DVP 是摄像头接口模块,支持把摄像头输入图像数据转发给 AI 模块或者内存。
在这里插入图片描述
DVP 模块具有以下功能:
• 支持 RGB565、RGB422 与单通道 Y 灰度输入模式
• 支持设置帧中断
• 支持设置传输地址
• 支持同时向两个地址写数据(输出格式分别是 RGB888 与 RGB565)
• 支持丢弃不需要处理的帧

1、代码获取

在我前面一篇博客里面简述了代码如何下载以及使用。https://blog.youkuaiyun.com/weixin_45488643/article/details/109990336如有需要自行查看。
  选择dvp_ov(摄像头):
在这里插入图片描述

2、代码修改

  和上次一样的操作,自己先创建一个新的工程文件,然后将dvp_ov文件夹下面的代码复制到:
在这里插入图片描述
安装依赖库文件:
在这里插入图片描述
比较重要的一点,开启控制:
打开board_config.h 我自己使用的是Maix bit 开发板,所以选择如下配置文件,根据需要选择自己的开发板硬件配置。
在这里插入图片描述

3、DVP 常用API

1、 DVP初始化:

void dvp_init(uint8_t reg_len)

在这里插入图片描述
2、 设置 xclk 的速率。
DVP(数字摄像头接口)的时钟频率

uint32_t dvp_set_xclk_rate(uint32_t xclk_rate)

在这里插入图片描述
返回,xclk 的实际速率。

3、禁用突发传输模式

void dvp_enable_burst(void)

4、设置输出模式使能或禁用

void dvp_set_output_enable(dvp_output_mode_t index, int enable)

在这里插入图片描述
5、设置图像接收模式

void dvp_set_image_format(uint32_t format)

6、设置图像接收模式,RGB 或 YUV
在这里插入图片描述
7、设置 DVP 图像采集尺寸

void dvp_set_image_size(uint32_t width, uint32_t height)

在这里插入图片描述

8、设置 AI 存放图像的地址
设置 AI 存放图像的地址,供 AI 模块进行算法处理

void dvp_set_ai_addr(uint32_t r_addr, uint32_t g_addr, uint32_t b_addr)

在这里插入图片描述
9、采集图像地址
设置采集图像在内存中的存放地址,可以用来显示

void dvp_set_ai_addr(uint32_t r_addr, uint32_t g_addr, uint32_t b_addr)

在这里插入图片描述
10、配置 DVP 中断类型
设置图像开始和结束中断状态,使能或禁用

void dvp_config_interrupt(uint32_t interrupt, uint8_t enable)

在这里插入图片描述
11、使能自动接收图像模式

void dvp_disable_auto(void)

12、清除中断

void dvp_clear_interrupt(uint32_t interrupt)

在这里插入图片描述

4、主函数

#include <stdio.h>
#include <string.h>

#include "board_config.h"
#include "dvp.h"
#include "fpioa.h"
#include "iomem.h"
#include "lcd.h"
#include "nt35310.h"
#include "ov2640.h"
#include "ov5640.h"
#include "plic.h"
#include "sysctl.h"
#include "uarths.h"
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值