本文由 资源共享网 – 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》相关的《完整源码》
嵌入式智能环境监测控制系统全套资源(设计说明书、PPT、C源码)
智能环境监测控制系统,以嵌入式技术为支撑,以住宅仓库等为平台。采用STC89C52芯片作为控制核心,通过DHT11温湿度传感器和火焰传感器等多种传感器实现对周围环境的监测。通过L298N电机驱动模块实现直流电机对风扇的驱动,如果湿度达到限定值将启动风扇并使用了蜂鸣器实现了对部分环境因素的监测及控制功能,完成了发生火灾时响铃以及湿度过高风扇自转除湿机制,提升了生活生产的安全性。并通过OLED显示屏实...
10 58772 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 45832 0
嵌入式开发之红外遥控+超声波避障测距C语言源码(基于stm32)
基于stm32的小车基础部分+红外遥控+超声波避障测距显示,开发工具keil5,实测能实现功能有开发说明文档
10 55819 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 45832 0
小车调速控制C语言源码(可通过串口发送指令控制,基于STM32F103C8T6 HAL库)
基于STM32F103C8T6 HAL库 配置的L298N电机驱动模块进行小车调速控制(可通过串口发送指令控制)
5 13453 0
C51单片机C语言源码(液晶TFT180).rar
ColorTest_SoftSPI(简单刷屏)PictureTest_SoftSPI(图片显示)STC_ISP程序下载软件STC_SoftSPI_CNCode(模拟SPI中文显示)STC_SoftSPI_ENCode(模拟SPI英文显示)
5 20959 0
C51单片机C语言源码(液晶TFT180).rar
ColorTest_SoftSPI(简单刷屏)PictureTest_SoftSPI(图片显示)STC_ISP程序下载软件STC_SoftSPI_CNCode(模拟SPI中文显示)STC_SoftSPI_ENCode(模拟SPI英文显示)
5 20959 0
合泰单片机无线充电方案(附汇编源码)
采用合泰单片机实现无线充电15w,过冲过放保护,电流保护等有汇编语言开发源码
5 59751 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 45832 0