shuichan_old/STM32F103_App1/HardWare/IIC/iic.h

29 lines
909 B
C
Raw Permalink Normal View History

#ifndef __IIC_H
#define __IIC_H
#include "main.h"
/* Software I2C pins: PA12=SDA, PA11=SCL */
#define SDA_GPIO_Port GPIOA
#define SDA_Pin GPIO_PIN_12
#define SCL_GPIO_Port GPIOA
#define SCL_Pin GPIO_PIN_11
#define READ_SDA HAL_GPIO_ReadPin(SDA_GPIO_Port, SDA_Pin)
#define IIC_SDA_OUT(x) HAL_GPIO_WritePin(SDA_GPIO_Port, SDA_Pin, (GPIO_PinState)(x))
#define IIC_SCL_H HAL_GPIO_WritePin(SCL_GPIO_Port, SCL_Pin, GPIO_PIN_SET)
#define IIC_SDA_H HAL_GPIO_WritePin(SDA_GPIO_Port, SDA_Pin, GPIO_PIN_SET)
#define IIC_SCL_L HAL_GPIO_WritePin(SCL_GPIO_Port, SCL_Pin, GPIO_PIN_RESET)
#define IIC_SDA_L HAL_GPIO_WritePin(SDA_GPIO_Port, SDA_Pin, GPIO_PIN_RESET)
void iicInit(void);
void iicStart(void);
void iicStop(void);
uint8_t iicWaitAck(void);
void iicSendByte(uint8_t txd);
uint8_t iicSendByteAck(uint8_t txd);
unsigned char iicReadByte(uint8_t ack);
#endif