#pragma once #ifndef I2C_H #define I2C_H #include "stm8s.h" #define F_MASTER_MHZ 16UL #define F_MASTER_HZ 16000000UL //100 кГц #define F_I2C_HZ 100000UL //Результат выполнения операции с i2c typedef enum { I2C_SUCCESS = 0, I2C_TIMEOUT, I2C_ERROR } t_i2c_status; // Инициализация I2C интерфейса extern void i2c_master_init(void); // Запись регистра slave-устройства extern t_i2c_status i2c_wr_reg(uint8_t address, uint8_t reg_addr, \ const uint8_t * data, uint8_t length); // Чтение регистра slave-устройства extern t_i2c_status i2c_rd_reg(uint8_t address, uint8_t reg_addr, \ uint8_t * data, uint8_t length); #endif // I2C_H