53 I2C->Clock_prescale = clt_prsc;
78 unsigned int timeout = 10000000;
81 while ((
I2C->Com_Stat &
TIP(1)) && --timeout > 0);
93 while ((
I2C->Com_Stat &
TIP(1)) && --timeout > 0);
113 unsigned int timeout = 10000000;
116 while ((
I2C->Com_Stat &
TIP(1)) && --timeout > 0);
127 while ((
I2C->Com_Stat &
TIP(1)) && --timeout > 0);
void GPIO_SetAltFunc(GPIO_T *pGPIO, uint16_t Pin_number, bool AltSet)
Установить режим GPIO или альтернативной функции.
#define SET_ALTFUNC(PORT, BIT, FUNC)
void I2C_Init(I2C_T *pI2C, uint32_t clt_prsc)
Инициализация I2C.
CTRL_T
Номера модулей в регистрах PWR_CLK_CTRL и PWR_RST_CTRL Расшифровка битовых полей для регистров PWR_CT...
Структура для доступа к регистрам I2C.
#define I2C_ENABLE
Макросы и типы для работы с I2C.
#define IACK_IF(x)
Макросы и типы для регистра Com_Stat.
void PWR_RST_Disable(CTRL_T CTRLn)
Вывод модуля из асинхронного сброса
void PWR_CLK_Enable(CTRL_T CTRLn)
Подача тактового сигнала на модуль
unsigned int I2C_Write_Byte(unsigned char addr, unsigned char data)
Отправка байта по интерфейсу I2C.
#define I2C
Указатель на структуру I2C.
unsigned int I2C_Read_Byte(unsigned char addr, unsigned char *data)
Чтение байта по интерфейсу I2C.
void I2C_GPIO_Init()
Инициализация портов в режиме альтернативной функции для работы I2C.
#define GPIO_E
Указатель на структуру GPIO_E.
#define RW(x)
Макросы и типы для регистра Tx_Rx.
CTRL_T I2C_GetCtrlNum(I2C_T *pI2C)
Возвращает номер модуля для использования в функциях включения/выключения I2C.
Этот файл содержит структуры, макросы и функции необходимые для взаимодействия с интерфесом I2C...