49 lines
1.3 KiB
C
49 lines
1.3 KiB
C
#ifndef __IIC_H
|
|
#define __IIC_H
|
|
|
|
#include "main.h"
|
|
|
|
|
|
|
|
#define SDA_GPIO_Port GPIOC //SDA 对应的IO分组
|
|
#define SDA_Pin GPIO_PIN_11 //SDA 对应的IO
|
|
|
|
#define SCL_GPIO_Port GPIOC //SCL 对应的IO分组
|
|
#define SCL_Pin GPIO_PIN_12 //SCL 对应的IO
|
|
/*--------------------------------------------------------------------------*/
|
|
|
|
|
|
#define READ_SDA HAL_GPIO_ReadPin(SDA_GPIO_Port, SDA_Pin) //读取SDA电平
|
|
#define IIC_SDA_OUT(x) HAL_GPIO_WritePin(SDA_GPIO_Port, SDA_Pin, (GPIO_PinState)x) //设置SDA电平
|
|
|
|
#define IIC_SCL_H HAL_GPIO_WritePin(SCL_GPIO_Port, SCL_Pin, GPIO_PIN_SET) //SCL拉高
|
|
#define IIC_SDA_H HAL_GPIO_WritePin(SDA_GPIO_Port, SDA_Pin, GPIO_PIN_SET) //SDA拉高
|
|
|
|
#define IIC_SCL_L HAL_GPIO_WritePin(SCL_GPIO_Port, SCL_Pin, GPIO_PIN_RESET) //SCL拉低
|
|
#define IIC_SDA_L HAL_GPIO_WritePin(SDA_GPIO_Port, SDA_Pin, GPIO_PIN_RESET) //SDA拉低
|
|
|
|
void iicInit(void);
|
|
void iicStart(void);
|
|
void iicStop(void);
|
|
char iicWaitAck(void);
|
|
void iicSendByte(uint8_t);
|
|
unsigned char iicReadByte(uint8_t);
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|