关于【野火】OV7725例程移植【OV7670】总结
#define SCCB_ SDA_ IN() {GPI0G->CRH &= 0XFFOFFFFF; GPIOG->CRH |=0X00800000; }
#define SCCB_ SDA_ OUT() {GPI0G->CRH &= 0XFFOFFFFF; GPIOG->CRH |=0X00300000; }
#define SCCB_ SDA_ IN do{ GPIO_InitTypeDefGPIO_InitStructure;\GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;\GPIO_InitStructure.GPIO_Pin = macOV7725_SIO_D_GPIO_PIN;\GPIO_InitStructure.GPIO Mode = GPIO_Mode_IPU;\GPIO_Init(mac0V7725_SIO_D_GPIO_ PORT, &GPIO_ InitStructure); \GPIO_SetBits(macOV7725_SIO_D_GPIO_PORT, macOV7725_SIO_D_GPIO_PIN);\}while(0);
#define SCCB_SDA_IN {GPIOC->CRL &= 0XOFFFFFFF;GPIOC->CRL = 0X80000000; }
#define SCCB_SDA_OUT {GPIOC->CRL &= 0XOFFFFFFF;GPIOC->CRL = 0X30000000; }
#define 0V7670_ID 0x73
if(Sensor_IDCode == 0V7670_ID)
{for( i = 0; i < 0V7670_REG_NUM ; i++ ){if( 0 == SCCB_ WriteByte(Sensor_Config[i].Address, Sensor_Config[i].Value) )//DEBUG("write reg faild", Sensor_Config[i].Address);return ERROR;}
}
#define H_MY_READ_FIFO_PIXEL(YUV) do{\YUV = 0;\FIFO_RCLK_L();\YUV = (macOV7670_DATA_GPI0_PORT->IDR >> 8) & 0xff;\FIFO_RCLK_H();\FIFO_RCLK_L();\FIFO_RCLK_H();\}while(0)
#define L_MY_READ_FIFO_PIXEL(YUV) do{\ YUV = 0;\FIFO_RCLK_L();\YUV = (mac0V7670_DATA_GPIO_PORT->IDR) & 0xff;\FIFO_RCLK_H();\FIFO_RCLK_L();\FIFO_RCLK_H();\}while(0)
下面这段代码是读取RGB565的:
#define READ_FIFO_PIXEL(RGB565) do{\RGB565=0;\FIFO_RCLK_L();\RGB565 = (mac0V7670_DATA_GPIO_PORT->IDR) & 0xff00;\FIFO_RCLK_H();\FIFO_RCLK_L();\RGB565 = (mac0V7670_DATA_GPI0_PORT->IDR >>8) & 0x00ff;\FIFO_RCLK_H();\}while(0)
2.RGB565的配置:
#define macOV7670_VSYNC_SCK_APBxClock_FUN RCC_APB2PeriphClockCmd
#define mac0V7670_VSYNC_GPIO_CLK RCC_APB2Periph_GPIOB
#define mac0V7670_VSYNC_GPIO_AFIO RCC_APB2Periph_AFIO
#define macOV7670_VSYNC_GPIO_PORT GPIOB
#define mac0V7670_VSYNC_GPIO_PIN GPIO_Pin_13
#define macOV7670_VSYNC_EXTI_SOURCE_PORT GPIO_PortSourceGPIOB
#define mac0V7670_VSYNC_EXTI_SOURCE_PIN GPIO_PinSource13
#define macOV7670_VSYNC_EXTI_LINE EXTI_Line13
#define macOV7670_VSYNC_EXTI_IRQ EXTI15_10_IRQn
#define macOV7670_VSYNC_EXTI_INT_FUNCTION EXTI15_10_IRQHandler
#define mac0V7670_VSYNC_GPIO_AFIO RCC_APB2Periph_AFIO
/**************************************
*函数名: VSYNC_ GPIO Configuration
*描述: 0V7670 GPIO配置
”输入:无
*输出:无
*注意:无
***************************************/
static void VSYNC_GPIO_Configuration(void)
{GPI0_InitTypeDef GPIO_InitStructure;macOV7670_VSYNC_SCK_APBxClock_FUN ( mac0V7670 VSYNC_GPIO_CLK | macOV7670_VSYNC_GPI0_AFIO, ENABLE ); /*PB13---VSYNC*/GPI0_InitStructure.GPIO_Pin = mac0V7670_VSYNC_GPI0_PIN;GPI0_InitStructure.GPIO_Mode = GPIO_ Mode_IN_FLOATING;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz ;GPIO_Init(mac0V7670_VSYNC_GPIO_PORT, &GPIO_InitStructure);
}
关于【野火】OV7725例程移植【OV7670】总结相关推荐
- harmonyos能否移植到MCU,HarmonyOS(LiteOs_m) 官方例程移植到STM32初体验
HarmonyOS(LiteOs_m) 官方例程移植到STM32初体验 硬件平台 基于正点原子战舰V3开发板 MCU:STM32F103ZET6 片上SRAM大小:64KBytes 片上FLASH大小 ...
- lora 移植到android_LoRa---官方例程移植
SX1278芯片上移植Semtech官方PING-PONG例程 移植环境:keil5.20 硬件平台:stm32f051+sx1278 2.准备文件: SX12xxDrivers-V2.1.0文件夹下 ...
- STM32F407开发板的HTTP模式IAP远程升级之官方例程移植
版权声明:本文为博主原创文章,转载请注明出处:https://blog.csdn.net/wbdxz/article/details/82859237 关于远程升级的模板建立,可以参考下面的博文 ST ...
- 基于CubeMX-STM32F302_uCOSII例程移植
基于CubeMX-STM32F302_uCOSII例程移植 1.说明 STM32F302的内核为Cortex-M4的,所以我们以官方的F4例程为基础移植. 2.准备 2.1.软件 1.官方例程源码:M ...
- 移植野火ucos例程stm32F103ZET6到C8T6上时,遇到内存溢出的问题,以及解决方法
1.更改完单片机型号后,编译工程后,出现内存溢出错误, .\Objects\ISO-STM32.axf: Error: L6406E: No space in execution regions wi ...
- 正点原子STM32F4探索者开发板HAL库触摸屏例程移植到STM32CubeMX+CLion
前言 本次移植我们将在移植好的TFT LCD屏幕例程的基础上进行修改 正文 我们打开STM32CubeMX文件,并配置好一个1us的定时器,我这里使用的是定时器6 我这里的系统时钟频率是168M,定时 ...
- 基于小梅哥AC620开发板的NIOS II LWIP百兆以太网例程移植到自己做的板子上
原程序是运行在小梅哥AC620开发板上的:基于小梅哥AC620开发板的NIOS II LWIP百兆以太网例程_ZLK1214的专栏-CSDN博客_小梅哥ac620[开发板]开发板型号:小梅哥AC620 ...
- 设备接入ONENET(3)STM32 + ESP8266(MQTT协议)接入云 :官方例程移植笔记(HAL+LL库)
重要提示:由于OneNET版本迭代,导致鉴权方式可能变更,若程序无法连接,请参考官方手册或再OneNET论坛搜索相关内容 移植本意应该是指通过修改,使得运行原先在另一个平台可运行的程序. STM32C ...
- seetaface2例程移植至Qt
参考博客:https://blog.csdn.net/sinat_33896833/article/details/100183581 这篇博客写的很好,感谢博主的分享.我简要的说明几点我遇到的问题( ...
- 关于正点原子STM32的MDK例程移植到IAR中遇到的错误解决方法 __use_no_semihosting
在移植过程中,估计大部分人应该都又遇到这类问题,主要是usart.c和sys.c这两个文件. 现贴出修改之前和修改之后的代码: usart.c: 之前的代码: #include "sys.h ...
最新文章
- 【PHP高效搜索专题(1)】sphinxCoreseek的介绍与安装
- webpack如何将css文件分离的,【Webpack小书】Webpack中如何将CSS样式抽取到独立文件中? - Tim的资源站...
- mac mysql start 失败_mac mysql 启动出错,请教解决办法
- samba客户端的总结与归纳
- windows下安装vundle
- 工业以太网交换机出现温度过高如何处理?
- sql语句中的in用法示例_PHP中的循环语句和示例
- 熊猫“大虾”-03/07/2011开始修炼
- 入门机器学习(六)--课后作业解析-logistics回归(python实现)
- mysql ---- 多表查询
- bzoj 1664 (贪心)
- 奥鹏19春计算机应用基础,19春西南交《计算机应用基础》在线作业二(答案)-...
- Javascript 高级程序设计笔记 (cha5 引用类型)
- mac 设置mysql登录快捷键_史上最详细的苹果Macbook快捷键使用
- 2015——那年、匆匆
- 关于vscode中出现gopls was not able to find modules in your workspace报错的解决方案
- 计算机网络基础知识及面试总结-这应该是最全的了
- 7-3 干支纪年法 (100 分)
- 排名趋于稳定后,最新的博主排名(TOP10)
- 如何实现水泥窑分散点信号集中控制?
热门文章
- bzoj 4484 [Jsoi2015]最小表示
- 从七桥问题开始:全面介绍图论及其应用
- WPS制作的电子签名有法律效力吗
- python全栈开发包括那些_什么是全栈工程师?有哪些知识?
- 打工就是 “演戏”,你可以认真,但别太当真
- CHUA 返回的矢量的长度为 3,但初始条件矢量的长度为 4。CHUA 返回的矢量和初始条件矢量的元素数目必须相同。
- 华为p20nfc怎么复制门禁卡_华为荣耀手机的NFC功能怎么用?怎么刷门禁卡
- 蓝桥杯2020第二场JAVA C真题
- Navicat15导入DMP数据文件
- 美国 android手机号码,格式编辑文本为美国电话号码1(xxx)-xxxx你在android中键入?...