本文由 资源共享网 – ziyuan 发布,转载请注明出处,如有问题请联系我们!gc0308调试单片机C语言源码、嵌入式STM32-F3、F4、F7、H7
开发语言: C
数据库 : mysql
资源语言: 中文
实验器材:
探索者STM32F4开发板
实验目的:
学习STM32F4的DCMI接口和OV2640摄像头模块的使用.
硬件资源:
1,DS0(连接在PF9)
2,串口1(波特率:115200,PA9/PA10连接在板载USB转串口芯片CH340上面)
3,ALIENTEK 2.8/3.5/4.3/7寸TFTLCD模块(通过FSMC驱动,FSMC_NE4接LCD片选/A6接RS)
4,按键KEY0(PE4)/KEY1(PE3)
5,DCMI接口(用于驱动OV2640摄像头模块)
6,定时器3(用于打印摄像头帧率等信息)
7,ALIENTEK OV2640摄像头模块,连接关系为:
OV2640模块 ------------ STM32开发板
OV_D7~D0 ------------ PE6/PE5/PB6/PC11/PC9/PC8/PC7/PC6
OV_SCL ------------ PD6
OV_SDA ------------ PD7
OV_VSYNC ------------ PB7
OV_HREF ------------ PA4
OV_RESET ------------ PG15
OV_PCLK ------------ PA6
OV_PWDN ------------ PG9
实验现象:
本实验开机后,初始化摄像头模块(OV2640),如果初始化成功,则提示选择模式:RGB565模式,或者
JPEG模式。KEY0用于选择RGB565模式,KEY1用于选择JPEG模式。
当使用RGB565时,输出图像(固定为:UXGA)将经过缩放处理(完全由OV2640的DSP控制),显示在LCD
上面。我们可以通过KEY_UP按键选择:1:1显示,即不缩放,图片不变形,但是显示区域小(液晶分辨率
大小),或者缩放显示,即将1600*1200的图像压缩到液晶分辨率尺寸显示,图片变形,但是显示了整个
图片内容。通过KE0Y按键,可以设置对比度;KEY1按键,可以设置饱和度;KEY2按键,可以设置特效。
当使用JPEG模式时,图像可以设置任意尺寸(QQVGA~UXGA),采集到的JPEG数据将先存放到STM32F4的内
存里面,每当采集到一帧数据,就会关闭DMA传输,然后将采集到的数据发送到串口2(此时可以通过上位
机软件(串口摄像头.exe)接收,并显示图片),之后再重新启动DMA传输。我们可以通过KEY_UP设置输
出图片的尺寸(QQVGA~UXGA)。通过KEY0按键,可以设置对比度;KEY1按键,可以设置饱和度;KEY2按
键,可以设置特效。
同时时可以通过串口1,借助USMART设置/读取OV2640的寄存器,方便大家调试。DS0指示程序运行状态,
DS1用于指示帧中断。
注意事项:
1,4.3寸和7寸屏需要比较大电流,USB供电可能不足,请用外部电源适配器(推荐外接12V 1A电源).
2,本例程在LCD_Init函数里面(在ILI93xx.c),用到了printf,如果不初始化串口1,将导致液晶无法显示!!
3,本实验需要自备ALIENTEK OV2640摄像头模块一个.
#include <linux/videodev2.h> #include <linux/i2c.h> #include <linux/platform_device.h> #include <linux/delay.h> #include <linux/cdev.h> #include <linux/uaccess.h> #include <linux/fs.h> #include <asm/atomic.h> #include "kd_camera_hw.h" #include "kd_imgsensor.h" #include "kd_imgsensor_define.h" #include "kd_imgsensor_errcode.h" #include "kd_camera_feature.h" #include "GC0308yuv_Sensor.h" #include "GC0308yuv_Camera_Sensor_para.h" #include "GC0308yuv_CameraCustomized.h" //#define GC0308YUV_DEBUG #ifdef GC0308YUV_DEBUG #define SENSORDB printk #else #define SENSORDB(x,...) #endif extern int iReadReg_Byte(u8 addr, u8 *buf, u8 i2cId); extern int iWriteReg_Byte(u8 addr, u8 buf, u32 size, u16 i2cId); static void GC0308_write_cmos_sensor(addr, para) { iWriteReg_Byte((u8)addr, (u8)para, 1, GC0308_WRITE_ID); } kal_uint8 GC0308_read_cmos_sensor(kal_uint32 addr) { kal_uint8 get_byte = 0; iReadReg_Byte((u8)addr, &get_byte, GC0308_WRITE_ID); return get_byte; }
单片机嵌入式资源(gc0308调试单片机C语言源码、嵌入式STM32-F3、F4、F7、H7)网址:https://www.08i8.com/ttkfzy/detail83207.html;转载请注明!
与《gc0308调试单片机C语言源码、嵌入式STM32-F3、F4、F7、H7》相关的《完整源码》
合泰单片机无线充电方案(附汇编源码)
采用合泰单片机实现无线充电15w,过冲过放保护,电流保护等有汇编语言开发源码
5 61503 0
嵌入式开发之红外遥控+超声波避障测距C语言源码(基于stm32)
基于stm32的小车基础部分+红外遥控+超声波避障测距显示,开发工具keil5,实测能实现功能有开发说明文档
10 57569 0
50个常用单片机c语言源码
1-IO输出-点亮1个LED灯方法110-LED循环左移11-LED循环右移12-查表显示LED灯13-双灯左移右移闪烁14-花样灯15-PWM调光16-共阳数码管静态显示17-1个共阳数码管显示变化数字18-单个数码管模拟水流19-按键控制单个数码管显示2-IO输出-点亮1个LED灯方法220-单个数码管指示逻辑电平21-8位数码管显示其中之一22-8位数码管静态显示其中之二23-8位数码管动态...
5 47627 0
使用FT2232D芯片的i2c端口进行读写的源代码(c语言)
以不经修改或者小幅修改即可迁移到别的项目,用C++封装了i2c rw class,很方便使用。
10 2683 0
嵌入式系统UCOSII源码(附UCOSII函数大全及学习笔记)C语言源码
嵌入式系统UCOSII源码(附UCOSII函数大全及学习笔记)UCOSII的前身是UCOS,最早出自于1992年美国嵌入式系统专家Jean J.Labrosse在《嵌入式系统编程》杂志的5月和6月刊上刊登的文章连载,并把UCOS的源码发布在该杂志的BBS上。目前最新的版本:UCOSIII已经出来,但是现在使用最为广泛的还是UCOSII,本章主要针对UCOSII进行介绍。UCOSII是一个可以基于R...
10 60931 0
C51单片机C语言源码(液晶TFT180).rar
ColorTest_SoftSPI(简单刷屏)PictureTest_SoftSPI(图片显示)STC_ISP程序下载软件STC_SoftSPI_CNCode(模拟SPI中文显示)STC_SoftSPI_ENCode(模拟SPI英文显示)
5 22601 0
红外避障智能车原理图及单片机源码(C源码)
本设计由STC89C52单片机电路+2路红外避障模块电路+2路按键电路+L298N电机驱动电路+电池盒电路组成。1、按下启动按键后,小车左侧的红外避障传感器模块检测到有障碍物,则智能车右拐;小车右侧的红外避障传感器模块检测到有障碍物,则智能车左拐;2、按下停止按键后,小车停止转动。
5 69150 0
51单片机3层电梯控制C源码附仿真电路图
51单片机课程设计,3层电梯控制,附带程序代码、仿真电路图#include //调用单片机头文件#define uchar unsigned char //无符号字符型 宏定义 变量范围0~255#define uint unsigned int //无符号整型 宏定义 变量范围0~65535 uchar smg_du[4] = ;//显示0123的段码bit flag_...
10 67750 0
50个常用单片机c语言源码
1-IO输出-点亮1个LED灯方法110-LED循环左移11-LED循环右移12-查表显示LED灯13-双灯左移右移闪烁14-花样灯15-PWM调光16-共阳数码管静态显示17-1个共阳数码管显示变化数字18-单个数码管模拟水流19-按键控制单个数码管显示2-IO输出-点亮1个LED灯方法220-单个数码管指示逻辑电平21-8位数码管显示其中之一22-8位数码管静态显示其中之二23-8位数码管动态...
5 47627 0