#ifndef __SCCB_H #define __SCCB_H #include "sys.h" ////////////////////////////////////////////////////////////////////////////////// //本程序只供学习使用,未经作者许可,不得用于其它任何用途 //ALIENTEK STM32h7开发板 //OV系列摄像头 SCCB 驱动代码 //正点原子@ALIENTEK //技术论坛:www.openedv.com //创建日期:2017/8/15 //版本:V1.0 //版权所有,盗版必究。 //Copyright(C) 广州市星翼电子科技有限公司 2014-2024 //All rights reserved ////////////////////////////////////////////////////////////////////////////////// //IO方向设置 #define SCCB_SDA_IN() {GPIOB->MODER&=~(3<<(3*2));GPIOB->MODER|=0<<3*2;} //PB3输入模式 #define SCCB_SDA_OUT() {GPIOB->MODER&=~(3<<(3*2));GPIOB->MODER|=1<<3*2;} //PB3输出模式 //IO操作 #define SCCB_SCL(n) (n?HAL_GPIO_WritePin(GPIOB,GPIO_PIN_4,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOB,GPIO_PIN_4,GPIO_PIN_RESET)) //SCL #define SCCB_SDA(n) (n?HAL_GPIO_WritePin(GPIOB,GPIO_PIN_3,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOB,GPIO_PIN_3,GPIO_PIN_RESET)) //SDA #define SCCB_READ_SDA HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_3) //输入SDA #define SCCB_ID 0X60 //OV2640的ID /////////////////////////////////////////// void SCCB_Init(void); void SCCB_Start(void); void SCCB_Stop(void); void SCCB_No_Ack(void); u8 SCCB_WR_Byte(u8 dat); u8 SCCB_RD_Byte(void); //u8 SCCB_WR_Reg(u8 reg,u8 data); //u8 SCCB_RD_Reg(u8 reg); #endif