1. STM32
    +关注
    关注 461
    文章 2231
    浏览量 197241
  2. 照相机
    +关注
    关注 0
    文章 36
    浏览量 18166

基于STM32的照相机系统软件设计

单片机系列 2017-12-04 09:36 次阅读
系统软件设计 关于STM32的片上资源,LCD ILI9341液晶屏的基本配置,SD卡的驱动及文件系统,OV7725摄像头功能的介绍已经在上一个章节中进行了详细的说明。硬件平台的搭建都是建立在STM32开发板与其他器件模块连接上的,本章节则主要采用自顶向下,层层细化的程序设计思想,分模块讲解整个系统的软件实现流程。

3.1 顶层程序设计

STM32照相机基本流程可以描述为:系统初始化,拍照处理。首先是系统初始化,包括系统时钟配置,对按键的GPIO和中断使能,LEDGPIO初始化;再初始化LCDGPIOFSMC总线功能和内部寄存器;还有初始化SDFATFS文件系统并使能SDIO的中断;最后,在实现模拟SCCB总线后,OV7725还需要配置FIFOGPIOOV7725内部的寄存器,并初始化场信号线。接着,拍照处理:等待帧同步信号,进入摄像;等待按键,开始拍照(即液晶截屏)并将图片保存到SD卡中,见图3.1

3.2 系统初始化程序设计

3.2.1 GPIO初始化 在第二章的主控模块部分已经介绍了GPIO的寄存器和引脚的输入输出模式,对复用功能实现也做出了详细说明。在STM32控制下的LEDKEYGPIO以及LCDSD card,摄像头使用的所有GPIO或特殊功能引脚的设置都要通过流程图来实现(图3.2)。 3.2.2 LCD初始化 LCD初始化主要包括两个内容:FSMC总线配置,LCD寄存器配置,见图3.3。程序中的涉及液晶屏的读写操作(如清屏,设置液晶扫描方向以及写入图片信息),都是在向Bank1_LCD_CBank1_LCD_D两个区域分别写入命令和数据实现的。其中,命令/数据的含义可参考ILI9341参考手册上的内容,在第二章的液晶显示模块中也给出了部分指令的含义。 3.2.3 SD卡文件系统初始化 SD卡文件系统初始化可分两块:SD卡中断初始化和硬件初始化。如何设置中断和FatFs文件系统的函数接口前面都已经介绍过了,图3.4是整个SD卡文件系统的初始化流程图。 3.2.4 OV7725初始化 摄像头OV7725的初始化分为三大部分:SCCB总线和FIFO的GPIO初始化,传感器的初始化,场信号线的初始化。其中的SCCB总线时序在上一章已经讲过,图3.5是OV7725初始化的程序流程图。 3.1 主程序流程图              3.2 GPIO的配置及复用   图3.3 LCD初始化流程 3.4 SD卡文件初始化流程 3.5 OV7725初始化流程

3.3 拍照处理程序设计

前几个小节详细介绍了各个子模块的初始化的实现,从主程序框图上看,还要有FIFO的准备,图像采集与显示,中断服务程序,液晶截屏与保存子程序。FIFO的准备(使能数据出FIFO输出),图像采集与显示是通过反复的读FIFO的输出并往LCD寄存器写入数据的过程,这些可以参考第二章的液晶显示模块和图像采集模块中FIFO的时序。最后一小节的重点是液晶截屏和图片保存的流程控制,见图3.6 3.6 液晶截屏与保存流程

原文标题:基于STM32的照相机系统的实现(系统软件设计) 文章出处:【微信号:SCMseries,微信公众号:单片机系列】欢迎添加关注!文章转载请注明出处。
关注电子发烧友微信
有趣有料的资讯及技术干货
下载发烧友APP
打造属于您的人脉电子圈
关注发烧友课堂
锁定最新课程活动及技术直播
收藏 人收藏
分享:

评论

相关推荐

高集成度编程工具软件STM32代码烧录编程实战

如今ST推出了新的高集成度编程工具软件STM32CubeProgrammer,以后就不用这么麻烦了,....
的头像 ST MCU 信息交流 发表于 01-23 09:22 次阅读 0条评论
高集成度编程工具软件STM32代码烧录编程实战

STM32F407总线存储框架及应用设计

在使用过程中发现DMA1无法把GPIO的IDR数据传输到内存,调试过程中出现DMA1的数据流传输错误....
的头像 STM32单片机 发表于 01-22 09:22 次阅读 0条评论
STM32F407总线存储框架及应用设计

使用STM32快速开发AliOS Things硬件与软件环境

AliOS Things 是 AliOS 家族旗下的、面向 IoT 领域的、轻量级物联网嵌入式操作系....
的头像 STM32单片机 发表于 01-22 09:17 次阅读 0条评论
使用STM32快速开发AliOS Things硬件与软件环境

STM32调试SP3485技术总结

本文主要对STM32调试SP3485技术总结。使用的STM32芯片是STM32F103RB,使用的资....
发表于 01-17 15:56 次阅读 0条评论
STM32调试SP3485技术总结

STM32的调试方式、更新程序、仿真以及补救措施

STM32支持JTAG和SWD两种调试方式,且默认状态下这两种调试功能都是开启的。
的头像 贸泽电子设计圈 发表于 01-17 14:55 次阅读 0条评论
STM32的调试方式、更新程序、仿真以及补救措施

用stm32控制4位数码管_stm32控制共阴数码管

本文主要介绍了stm32控制4位共阳数码管输出计数程序设计和stm32控制共阴数码管程序设计。首先我....
发表于 01-16 17:07 次阅读 0条评论
用stm32控制4位数码管_stm32控制共阴数码管

对STM32基本知识的详细剖析

STM32是一种功能比较强大的32位单片机,广泛应用于各种嵌入式设备中,由于它的普及性及丰富的资源,....
的头像 21ic电子网 发表于 01-16 14:29 次阅读 0条评论
对STM32基本知识的详细剖析

max7219驱动数码管程序(51单片机+STM32 MAX7219数码管程序案例)

本文主要介绍了max7219驱动数码管:STM32硬件SPImax7219驱动8位数码管显示模块程序....
发表于 01-15 16:51 次阅读 0条评论
max7219驱动数码管程序(51单片机+STM32 MAX7219数码管程序案例)

详细解析STM32中的堆栈机制

这下明白了吧,STM32在启动的时候,RAM首先分配给使用到的全局变量,还有调用库占用的一些数据(不....
的头像 贸泽电子设计圈 发表于 01-15 15:03 次阅读 0条评论
详细解析STM32中的堆栈机制

分享STM32定时器输出比较模式的理解

初学STM32,我这个地方卡了很久,现在终于有些明白了,现在把我的理解写下与大家共享,如果有不对的地....
的头像 玩转单片机 发表于 01-15 08:49 次阅读 0条评论
分享STM32定时器输出比较模式的理解

stm32看门狗复位技巧编辑

本文主要介绍了stm32看门狗复位技巧,包括三个方面:判断是否需要使用、保证看门狗工作正常、保证看门....
发表于 01-14 15:51 次阅读 0条评论
stm32看门狗复位技巧编辑

LED光源实现植物生长动态补光控制的几大要点

在番茄的各个生长期,弱光环境都会对番茄的生长造成很大影响,所以需要对番茄的各个生长期进行补光,至于怎....
的头像 电子设计 发表于 01-13 07:25 次阅读 0条评论
LED光源实现植物生长动态补光控制的几大要点

STM32+MS5611测气压温度例程详解

MS5611气压传感器是集合SPI和I²C(高达20 MHz)总线接口的高分辨率气压传感器,分辨率可....
发表于 01-12 15:31 次阅读 0条评论
STM32+MS5611测气压温度例程详解

STM32通过I2C与BMP280通信

BMP280对温度和气压的测量是通过一堆补偿数据然后根据自己的算法算出来的,要注意这些数据是什么类型....
发表于 01-12 13:14 次阅读 0条评论
STM32通过I2C与BMP280通信

基于stm32的GPIO寄存器学习解析

GPIO即通用输入/输出 (General Purpose Input Output) 包括:....
的头像 MCU开发加油站 发表于 01-11 09:03 次阅读 0条评论
基于stm32的GPIO寄存器学习解析

STM32中断优先级谁更高 主要根据两个方面来判断

STM32(Cortex-M3)中有两个优先级的概念——抢占式优先级和响应优先级,有人把响应优先级称....
发表于 01-10 14:12 次阅读 0条评论
STM32中断优先级谁更高 主要根据两个方面来判断

STM32 系列MCU 不同型号的移植步骤解析

STM32 系列MCU 不同型号的移植!
的头像 张飞实战电子 发表于 01-10 10:45 次阅读 0条评论
STM32 系列MCU 不同型号的移植步骤解析

多合一烧写几种接口及编程模式

如今ST推出了新的高集成度的编程工具软件STM32CubeProgrammer,以后就不用这么麻烦了....
的头像 STM32单片机 发表于 01-10 09:23 次阅读 0条评论
多合一烧写几种接口及编程模式

基于STM平台中五大嵌入式操作系统

基于STM平台且满足实时控制要求操作系统,有以下5种可供移植选择。分别为μClinux、μC/OS-....
的头像 单片机爱好者 发表于 01-10 09:17 次阅读 0条评论
基于STM平台中五大嵌入式操作系统

意法半导体推最新软体工具让烧录STM32程式更方便

据报道,意法半导体推处理一款最新软体工具,可以支持多平台可配置环境让烧录STM32程式更方便,还可以....
发表于 01-08 13:20 次阅读 0条评论
意法半导体推最新软体工具让烧录STM32程式更方便
鸿运国际手机版