Описание библиотеки микросхемы 5023ВС016 процессора "Спутник"
i2c.h
См. документацию.
1 
29 #ifndef I2C_H
30 #define I2C_H
31 
32 #include "types.h"
33 #include "chip_5023BC016.h"
34 #include "system.h"
35 #include "gpio.h"
36 
37 
45 typedef struct
46 {
47  __RW uint32_t Clock_prescale;
48  __RW uint32_t Control;
49  __RW uint32_t Tx_Rx;
50  __RW uint32_t Com_Stat;
51 }I2C_T;
52 
53 
57 #define Prescale(x) ((uint32_t)((x&0xFFFF) << 0))
64 #define IEN(x) ((uint32_t)(x << 6))
65 #define EN(x) ((uint32_t)(x << 7))
71 #define RW(x) ((uint32_t)(x << 0))
72 #define TDATA(x) ((uint32_t)((x&0x7F) << 1))
73 #define RDATA(x) ((uint32_t)((x&0xFF) << 0))
78 #define IACK_IF(x) ((uint32_t)(x << 0))
81 #define TIP(x) ((uint32_t)(x << 1))
83 #define ACK(x) ((uint32_t)(x << 3))
85 #define WR(x) ((uint32_t)(x << 4))
87 #define RD_AL(x) ((uint32_t)(x << 5))
90 #define STO_BUSY(x) ((uint32_t)(x << 6))
94 #define STA_RxACK(x) ((uint32_t)(x << 7))
98 #define IF(x) ((uint32_t)(x << 0))
104 #define I2C_ENABLE 0x80
105 
113 
120 void I2C_Init(I2C_T *pI2C, uint32_t clt_prsc);
121 
127 void I2C_GPIO_Init();
128 
135 unsigned int I2C_Write_Byte(unsigned char addr, unsigned char data);
136 
143 unsigned int I2C_Read_Byte(unsigned char addr, unsigned char *data);
144 
145 
146 
147 
148 #endif /* I2C_H */
Этот файл содержит структуры, макросы и функции необходимые для работы с дополнительными типами...
#define __RW
Definition: types.h:39
__RW uint32_t Tx_Rx
Definition: i2c.h:49
__RW uint32_t Com_Stat
Definition: i2c.h:50
CTRL_T
Номера модулей в регистрах PWR_CLK_CTRL и PWR_RST_CTRL Расшифровка битовых полей для регистров PWR_CT...
Definition: system.h:635
Этот файл содержит структуры, макросы и функции необходимые для взаимодействия с аппаратным модулем G...
Структура для доступа к регистрам I2C.
Definition: i2c.h:45
unsigned int I2C_Write_Byte(unsigned char addr, unsigned char data)
Отправка байта по интерфейсу I2C.
Definition: i2c.c:76
Этот файл содержит описание адресного пространства микроконтроллера 5023ВС016.
__RW uint32_t Clock_prescale
Definition: i2c.h:47
void I2C_Init(I2C_T *pI2C, uint32_t clt_prsc)
Инициализация I2C.
Definition: i2c.c:48
unsigned int I2C_Read_Byte(unsigned char addr, unsigned char *data)
Чтение байта по интерфейсу I2C.
Definition: i2c.c:111
__RW uint32_t Control
Definition: i2c.h:48
CTRL_T I2C_GetCtrlNum(I2C_T *pI2C)
Возвращает номер модуля для использования в функциях включения/выключения I2C.
Definition: i2c.c:36
void I2C_GPIO_Init()
Инициализация портов в режиме альтернативной функции для работы I2C.
Definition: i2c.c:62
Этот файл содержит структуры, макросы и функции необходимые для взаимодействия с регистрами общего на...