Демонстрационная прошивка отладочного комплекта МТС NB-IoT
i2c_api.h
См. документацию.
1 #ifndef I2C_API_H_INCLUDED
2 #define I2C_API_H_INCLUDED
3 
4 #include "stm32l1xx.h"
5 
18 #define I2C_SAFETY_TIMEOUT 2000000UL
21 
22 #ifndef NULL
23 #define NULL ((void *)0)
24 #endif
25 
26 typedef enum { I2C_ERROR_NONE,I2C_ERROR_START_FAIL,I2C_ERROR_ADDR_FAIL,I2C_ERROR_READ_FAIL,I2C_ERROR_WRITE_FAIL } i2c_error_t;
27 
40 void init_i2c(I2C_TypeDef* i2c_inst,uint32_t sys_clk);
41 
59 i2c_error_t i2c_read_with_pointer(I2C_TypeDef* i2c_inst,uint8_t i2c_addr,uint8_t pointer_byte,uint8_t read_length,uint8_t* read_buffer);
76 i2c_error_t i2c_write_with_pointer(I2C_TypeDef* i2c_inst,uint8_t i2c_addr,uint8_t pointer_byte,uint16_t write_length,uint8_t* write_buffer);
77 
82 #endif /* I2C_API_H_INCLUDED */
init_i2c
void init_i2c(I2C_TypeDef *i2c_inst, uint32_t sys_clk)
Выполняет настройку модуля I2C для работы на стандартной частоте SDA, равной 100 кГц.
Definition: i2c_api.c:310
i2c_write_with_pointer
i2c_error_t i2c_write_with_pointer(I2C_TypeDef *i2c_inst, uint8_t i2c_addr, uint8_t pointer_byte, uint16_t write_length, uint8_t *write_buffer)
Функция выполняет запись регистра устройства I2C по правилам, общим для многих I2C-устройств.
Definition: i2c_api.c:251
i2c_read_with_pointer
i2c_error_t i2c_read_with_pointer(I2C_TypeDef *i2c_inst, uint8_t i2c_addr, uint8_t pointer_byte, uint8_t read_length, uint8_t *read_buffer)
Функция выполняет чтение регистра устройства I2C по правилам, общим для многих I2C-устройств.
Definition: i2c_api.c:171