资源简介
用STM32CUBE生成的HAL库,以STM32F407芯片驱动OV7670摄像头(不带FIFO),单片机提供8M时钟给摄像头,摄像头将数据通过DMA传输至LCD屏上,通过按键触发将屏幕上的一张照片通过UART1发送至上位机显示。上位机是山外多功能调试助手。文件包内还包括我自己写的CUBE配置过程及操作说明,还内涵2张照片证明调试通过。代码内含有一些注释可轻松理解。
代码片段和文件信息
#include “board.h“
#include “uart.h“
#include “main.h“
#include “LCD.h“
#include “SysTick.h“
#include “str.h“
#include “dcmi.h“
#include “tim.h“
#include “stdio.h“
#include “gui.h“
extern struKEY key;
extern FunctionalState TIM7_EN;
extern TIM_HandleTypeDef htim7;
extern DCMI_HandleTypeDef hdcmi;
extern UART_HandleTypeDef huart1;
extern u8 flag_photo;
u8 rx_buffer[1];
//==============================================================
//-01 运行程序管理函数
//==============================================================
void startManage(void){//只在启动时循环执行,内部功能需要不断补充
SysTick_Init(168);
TFTLCD_Init();
KEY_Param_Init(&key);
USER_TIM7_Init(839999); //定时器用于按键消抖
HAL_TIM_base_Start_IT(&htim7);
My_OV7670_Init(); //等待10秒,连续图像显示在LCD屏上
My_DCMI_START(); //DCMI配置
}
void board_quick(void){//run imidiately
TIM7_PROCESS();
My_TAKE_A_PICTURE();
}
//==============================================================
//-02 具体执行函数(可移植)
//==============================================================
void TIM7_PROCESS(void)
{
if(TIM7_EN == ENABLE)
{
Key_Read(&key);
Key_Process(&key);
TIM7_EN = DISABLE;
}
}
void Key_Process(struKEY *_key)
{
if(_key->key_up ==KEY_JUST_PRESSED)//按下上键开始照相,LCD停止摄像,并将LCD屏上停止的一张照片通过uart1传输至上位机
{
HAL_DCMI_Stop(&hdcmi);
delay_ms(1000);
rx_buffer[0]=0x01; //上位机协议 0X01 0XFE [数据1][数据2][...] 0XFE 0X01
HAL_UART_Transmit(&huart1rx_buffersizeof(rx_buffer)500);
while(__HAL_UART_GET_FLAG(&huart1UART_FLAG_TC)!=SET){};
rx_buffer[0]=0xFE;
HAL_UART_Transmit(&huart1rx_buffersizeof(rx_buffer)500);
while(__HAL_UART_GET_FLAG(&huart1UART_FLAG_TC)!=SET){};
flag_photo=1;
}
if(_key->key_dowm ==KEY_JUST_PRESSED)//按下下键重新开始摄像
{
My_DCMI_START();
flag_photo=0;
}
}
//==============================================================
//-03 具体执行函数(不可移植)
//==============================================================
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 7683 2020-02-23 15:03 DCMI_DMA_OV7670_PICTURE\.mxproject
文件 2259 2020-02-26 16:10 DCMI_DMA_OV7670_PICTURE\APP\board.c
文件 1903 2020-01-01 17:05 DCMI_DMA_OV7670_PICTURE\APP\board.h
文件 2944 2020-02-15 13:31 DCMI_DMA_OV7670_PICTURE\APP\Function desc
文件 3302 2020-02-22 21:35 DCMI_DMA_OV7670_PICTURE\APP\gui.c
文件 345 2019-12-28 21:50 DCMI_DMA_OV7670_PICTURE\APP\gui.h
文件 5770 2020-01-01 14:32 DCMI_DMA_OV7670_PICTURE\APP\I2C_S.c
文件 919 2019-12-31 22:55 DCMI_DMA_OV7670_PICTURE\APP\I2C_S.h
文件 2704 2020-01-01 16:43 DCMI_DMA_OV7670_PICTURE\APP\key.c
文件 1112 2020-01-01 11:27 DCMI_DMA_OV7670_PICTURE\APP\key.h
文件 3397 2020-01-01 15:46 DCMI_DMA_OV7670_PICTURE\APP\LCD\ctiic.c
文件 984 2020-01-01 15:11 DCMI_DMA_OV7670_PICTURE\APP\LCD\ctiic.h
文件 6730 2020-01-01 15:48 DCMI_DMA_OV7670_PICTURE\APP\LCD\gt5663.c
文件 1271 2020-01-01 15:46 DCMI_DMA_OV7670_PICTURE\APP\LCD\gt5663.h
文件 29896 2020-02-22 22:55 DCMI_DMA_OV7670_PICTURE\APP\LCD\LCD.c
文件 2089 2020-02-22 18:19 DCMI_DMA_OV7670_PICTURE\APP\LCD\LCD.h
文件 6437 2020-01-01 16:50 DCMI_DMA_OV7670_PICTURE\APP\LCD\touch.c
文件 3505 2020-01-01 16:43 DCMI_DMA_OV7670_PICTURE\APP\LCD\touch.h
文件 35019 2019-12-28 21:23 DCMI_DMA_OV7670_PICTURE\APP\Str_Inchip_Asc\font.h
文件 2067 2020-02-21 20:49 DCMI_DMA_OV7670_PICTURE\APP\Str_Inchip_Asc\str.c
文件 307 2019-12-31 23:11 DCMI_DMA_OV7670_PICTURE\APP\Str_Inchip_Asc\str.h
文件 481 2020-02-22 11:03 DCMI_DMA_OV7670_PICTURE\APP\tim.c
文件 126 2020-01-01 11:27 DCMI_DMA_OV7670_PICTURE\APP\tim.h
文件 819 2020-02-21 12:48 DCMI_DMA_OV7670_PICTURE\APP\uart.c
文件 595 2020-02-20 14:28 DCMI_DMA_OV7670_PICTURE\APP\uart.h
文件 1170 2020-02-26 16:13 DCMI_DMA_OV7670_PICTURE\CUBE配置及操作说明.txt
文件 12587 2020-02-23 15:03 DCMI_DMA_OV7670_PICTURE\DMA.ioc
文件 28208 2019-12-22 14:29 DCMI_DMA_OV7670_PICTURE\Drivers\CMSIS\Core\Include\cmsis_armcc.h
文件 56497 2019-12-22 14:29 DCMI_DMA_OV7670_PICTURE\Drivers\CMSIS\Core\Include\cmsis_armclang.h
文件 9014 2019-12-22 14:29 DCMI_DMA_OV7670_PICTURE\Drivers\CMSIS\Core\Include\cmsis_compiler.h
............此处省略1416个文件信息
- 上一篇:基于HAL库驱动ov7670.rar
- 下一篇:智能车电磁节能组硬件设计
评论
共有 条评论