123456789101112131415161718192021222324252627282930313233 |
- #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
|