資源簡介
用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
- 下一篇:智能車電磁節能組硬件設計
評論
共有 條評論