38 lines
1.5 KiB
C
38 lines
1.5 KiB
C
|
|
#ifndef _MYIIC_H
|
|||
|
|
#define _MYIIC_H
|
|||
|
|
#include "sys.h"
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѧϰʹ<CFB0>ã<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><CEBA><EFBFBD>;
|
|||
|
|
//ALIENTEK STM32F7<46><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
//IIC<49><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>@ALIENTEK
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳:www.openedv.com
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:2015/11/30
|
|||
|
|
//<2F>汾<EFBFBD><E6B1BE>V1.0
|
|||
|
|
//<2F><>Ȩ<EFBFBD><C8A8><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><D8BE><EFBFBD>
|
|||
|
|
//Copyright(C) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿƼ<D3BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾ 2014-2024
|
|||
|
|
//All rights reserved
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define SDA_IN() {GPIOH->MODER&=~(3<<(5*2));GPIOH->MODER|=0<<5*2;} //PH5<48><35><EFBFBD><EFBFBD>ģʽ
|
|||
|
|
#define SDA_OUT() {GPIOH->MODER&=~(3<<(5*2));GPIOH->MODER|=1<<5*2;} //PH5<48><35><EFBFBD><EFBFBD>ģʽ
|
|||
|
|
//IO<49><4F><EFBFBD><EFBFBD>
|
|||
|
|
#define IIC_SCL(n) (n?HAL_GPIO_WritePin(GPIOH,GPIO_PIN_4,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOH,GPIO_PIN_4,GPIO_PIN_RESET)) //SCL
|
|||
|
|
#define IIC_SDA(n) (n?HAL_GPIO_WritePin(GPIOH,GPIO_PIN_5,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOH,GPIO_PIN_5,GPIO_PIN_RESET)) //SDA
|
|||
|
|
#define READ_SDA HAL_GPIO_ReadPin(GPIOH,GPIO_PIN_5) //<2F><><EFBFBD><EFBFBD>SDA
|
|||
|
|
|
|||
|
|
//IIC<49><43><EFBFBD>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
void IIC_Init(void); //<2F><>ʼ<EFBFBD><CABC>IIC<49><43>IO<49><4F>
|
|||
|
|
void IIC_Start(void); //<2F><><EFBFBD><EFBFBD>IIC<49><43>ʼ<EFBFBD>ź<EFBFBD>
|
|||
|
|
void IIC_Stop(void); //<2F><><EFBFBD><EFBFBD>IICֹͣ<CDA3>ź<EFBFBD>
|
|||
|
|
void IIC_Send_Byte(u8 txd); //IIC<49><43><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ֽ<EFBFBD>
|
|||
|
|
u8 IIC_Read_Byte(unsigned char ack);//IIC<49><43>ȡһ<C8A1><D2BB><EFBFBD>ֽ<EFBFBD>
|
|||
|
|
u8 IIC_Wait_Ack(void); //IIC<49>ȴ<EFBFBD>ACK<43>ź<EFBFBD>
|
|||
|
|
void IIC_Ack(void); //IIC<49><43><EFBFBD><EFBFBD>ACK<43>ź<EFBFBD>
|
|||
|
|
void IIC_NAck(void); //IIC<49><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ACK<43>ź<EFBFBD>
|
|||
|
|
|
|||
|
|
void IIC_Write_One_Byte(u8 daddr,u8 addr,u8 data);
|
|||
|
|
u8 IIC_Read_One_Byte(u8 daddr,u8 addr);
|
|||
|
|
#endif
|
|||
|
|
|