29 lines
909 B
C
29 lines
909 B
C
#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
|