#无FIFO驱动OV7670基于cubemx(草稿)

2024-04-19 03:28
文章标签 驱动 cubemx 草稿 fifo ov7670

本文主要是介绍#无FIFO驱动OV7670基于cubemx(草稿),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.前言

之前在淘宝买了一个不带FIFO的OV7670,由于比赛和其他事一直搁置,现在有时间于是想玩一玩。我发现网上这个的教程多为标准库,有些甚至利用了DCMI(数字摄像头接口,目前已知F4系列是有这个外设的)。标准库以及使用硬件外设使得它的移植不是那么友好,加上今年来ST官方大力推广HAL库以及CUBEMX的使用,于是我决定做一个CUBEMX驱动这个的教程。

无FIFO的OV7670更加考验单片机性能,并且坑比较多,大家如果还没有买,不要和我一样贪便宜买不带FIFO的

实物:

比较新的博客:

STM32F103C8T6基于库函数 驱动无FIFO的OV7670摄像头_stm32f103c8t6摄像头-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/sd3870582/article/details/136192947

2.设备

(1)单片机

STM32G474RET6,准备使用IO直驱,因为它没有DCMI接口,模拟的方式更加好移植。

(2)无FIFO的OV7670引脚定义

SCL-----------------------------------时钟线(SCCB)

SDA-----------------------------------数据线(SCCB)

VS-------------------------------------帧数据线(图像输出),信号出现说明一帧图像传输完成

HS-------------------------------------行数据线(图像输出),信号出现说明一帧图像的一行传输完成

PCLK---------------------------------像素时钟(OV7670输出给STM32

MCLK---------------------------------输入时钟(STM32输入给OV7670),使用MCO输入24MHz

D0到D7-------------------------------数据接口(图像信号输出给单片机)

(3)无FIFO的OV7670数据传输扫描方式

从左到右,从下到上

(4)使用的上位机

 直接显示在LCD屏幕上跨度太大,中间会出很多问题,我们先将图像输出到电脑上观察。一步一步慢慢来,华军软件园一般流氓软件较少。

山外多功能调试助手官方下载_山外多功能调试助手最新版_山外多功能调试助手1.1.1绿色版-华军软件园 (onlinedown.net)icon-default.png?t=N7T8https://www.onlinedown.net/soft/633190.htm

3.需要掌握的知识

(1)SSCB

这个是用来设置OV7670的,跟IIC很像,但不是同一个东西。SCCB有一个EN线,但是在OV7670中被省略了,因为没有必要。

参考文章

SCCB总线协议的详细讲解与程序实现-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/weixin_44509533/article/details/106053822

接口线

 起始时序

 

 结束时序

(2)部分问题踩坑解决

STM32驱动OV7670(无FIFO)相关问题的解决_ov7670怎么接stm32f103-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/wing_man/article/details/124070432

4.驱动的第一步

由于这种传感器本身并不算简单,所以要做好付出大代价的准备。一步一步来,确保每一步的成功运行。

(1)读取OV7670的ID

参考文章

ov7670读取ID成功(不带FIFO),记录注意事项_ov7670的id-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_43145360/article/details/120224741

这篇关于#无FIFO驱动OV7670基于cubemx(草稿)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/916520

相关文章

如何在Ubuntu上安装NVIDIA显卡驱动? Ubuntu安装英伟达显卡驱动教程

《如何在Ubuntu上安装NVIDIA显卡驱动?Ubuntu安装英伟达显卡驱动教程》Windows系统不同,Linux系统通常不会自动安装专有显卡驱动,今天我们就来看看Ubuntu系统安装英伟达显卡... 对于使用NVIDIA显卡的Ubuntu用户来说,正确安装显卡驱动是获得最佳图形性能的关键。与Windo

嵌入式Linux之使用设备树驱动GPIO的实现方式

《嵌入式Linux之使用设备树驱动GPIO的实现方式》:本文主要介绍嵌入式Linux之使用设备树驱动GPIO的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、设备树配置1.1 添加 pinctrl 节点1.2 添加 LED 设备节点二、编写驱动程序2.1

嵌入式Linux驱动中的异步通知机制详解

《嵌入式Linux驱动中的异步通知机制详解》:本文主要介绍嵌入式Linux驱动中的异步通知机制,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、异步通知的核心概念1. 什么是异步通知2. 异步通知的关键组件二、异步通知的实现原理三、代码示例分析1. 设备结构

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

LabVIEW FIFO详解

在LabVIEW的FPGA开发中,FIFO(先入先出队列)是常用的数据传输机制。通过配置FIFO的属性,工程师可以在FPGA和主机之间,或不同FPGA VIs之间进行高效的数据传输。根据具体需求,FIFO有多种类型与实现方式,包括目标范围内FIFO(Target-Scoped)、DMA FIFO以及点对点流(Peer-to-Peer)。 FIFO类型 **目标范围FIFO(Target-Sc

驱动(RK3588S)第七课时:单节点设备树

目录 需求一、设备树的概念1、设备树的后缀名:2、设备树的语法格式3、设备树的属性(重要)4、设备树格式举例 二、设备树所用函数1、如何在内核层种获取设备树节点:2、从设备树上获取 gpio 口的属性3、获取节点上的属性只针对于字符串属性的4、函数读取 np 结点中的 propname 属性的值,并将读取到的 u32 类型的值保存在 out_value 指向的内存中,函数的返回值表示读取到的

驱动安装注册表指令

HKCR: HKEY_CLASSES_ROOT HKCU: HKEY_CURRENT_USER HKLM: HKEY_LOCAL_MACHINE HKU: HEKY_USER HER: 相对根键

UMDF驱动安装

VS2013 + WDF8.1,UMDF驱动选择User Mode Driver,不要选User Mode Driver 2.0,否则Win7安装有问题,如图 另外,在驱动安装时不要忘记WUDFUpdate_<主版本号><次版本号>.dll文件,具体文件名在INF中查找。此文件可在WDF的安装目录中找到。注意:在WDF的安装目录中会有3个WUDFUpdate_xxx.dll文件,x86,x6