forked from logzhan/RobotHardware-UESTC
48 lines
1.2 KiB
C
48 lines
1.2 KiB
C
#ifndef __i2c_H__
|
|
#define __i2c_H__
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include "stm32f1xx_hal.h"
|
|
//imu-iic
|
|
#define SCL_H GPIOB->BSRR = GPIO_PIN_8
|
|
#define SCL_L GPIOB->BRR = GPIO_PIN_8
|
|
|
|
#define SDA_H GPIOB->BSRR = GPIO_PIN_9
|
|
#define SDA_L GPIOB->BRR = GPIO_PIN_9
|
|
|
|
#define SCL_read GPIOB->IDR & GPIO_PIN_8
|
|
#define SDA_read GPIOB->IDR & GPIO_PIN_9
|
|
|
|
//³¬Éù²¨-iic
|
|
#define HC_SCL_H GPIOB->BSRR = GPIO_PIN_1
|
|
#define HC_SCL_L GPIOB->BRR = GPIO_PIN_1
|
|
|
|
#define HC_SDA_H GPIOB->BSRR = GPIO_PIN_0
|
|
#define HC_SDA_L GPIOB->BRR = GPIO_PIN_0
|
|
|
|
#define HC_SCL_read GPIOB->IDR & GPIO_PIN_1
|
|
#define HC_SDA_read GPIOB->IDR & GPIO_PIN_0
|
|
/*********************************************************************************************************************/
|
|
void HC_I2C_Init(void);
|
|
void HC_I2C_Write(void);
|
|
int HC_I2C_Read(void);
|
|
|
|
void PB_I2C_Init(void);
|
|
int PB_I2C_Write_Byte(uint8_t addr, uint8_t reg, uint8_t data);
|
|
int PB_I2C_Write_Buf(uint8_t addr, uint8_t reg, uint8_t *data, uint8_t size);
|
|
|
|
int PB_I2C_Read_Byte(uint8_t addr, uint8_t reg, uint8_t* data);
|
|
int PB_I2C_Read_Buf(uint8_t addr,uint8_t reg, uint8_t* data, uint8_t size);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif //__i2c_H__
|
|
|
|
|