#pragma once #ifndef I2C_H #define I2C_H #include "stm8s.h" #define I2C_FAST 1 #define F_MASTER_MHZ 16UL #define F_MASTER_HZ 16000000UL #ifdef I2C_FAST //400 кГц #define F_I2C_HZ 400000UL #else //100 кГц #define F_I2C_HZ 100000UL #endif // I2C_FAST //Результат выполнения операции с i2c typedef enum { I2C_SUCCESS = 0, I2C_TIMEOUT, I2C_ERROR } t_i2c_status; // Инициализация I2C интерфейса void i2c_master_init(void); // Wrie 1 byte t_i2c_status i2c_wr_data(uint8_t address, uint8_t num_bytes_to_wr, uint8_t * data); // Read 3 bytes t_i2c_status i2c_rd_data(uint8_t address, uint8_t num_bytes_to_rd, uint8_t * data); #endif // I2C_H