• 大小: 33.44MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-07
  • 语言: 其他
  • 标签: STM32F407  

资源简介

用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 description.h

     文件       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个文件信息

评论

共有 条评论

相关资源