This file contains routines which define, configure and allow use of the I2C service on the ST Microelectronics STM32L452RE MCU.
More...
#include "esos.h"
#include "esos_i2c.h"
#include "esos_stm32l4.h"
#include <libopencm3/stm32/i2c.h>
Go to the source code of this file.
|
#define | CLEAR_REGISTER_BITS(reg, mask) reg &= (~(mask)) |
|
#define | SET_REGISTER_BITS(reg, mask) reg |= (mask) |
|
#define | MAKE_I2C_WR_ADDR(bits) bits &= 0xFFF |
|
#define | MAKE_I2C_RD_ADDR(bits) bits &= 0x001 |
|
#define | __ESOS_I2C_STM32L4_SET_WRITE_DIR() I2C1_CR2 &= (~I2C_CR2_RD_WRN) |
|
#define | __ESOS_I2C_STM32L4_SET_READ_DIR() I2C1_CR2 |= I2C_CR2_RD_WRN |
|
#define | __ESOS_I2C_STM32L4_SET_NUM_BYTES(x) I2C1_CR2 = (I2C1_CR2 & ~I2C_CR2_NBYTES_MASK) | (x << I2C_CR2_NBYTES_SHIFT) |
|
#define | __ESOS_I2C_STM32L4_SET_ADDR7_MODE() I2C1_CR2 &= (~I2C_CR2_ADD10) |
|
#define | __ESOS_I2C_STM32L4_SET_ADDR10_MODE() I2C1_CR2 |= I2C_CR2_ADD10 |
|
#define | __ESOS_I2C_STM32L4_SET_ADDR7(x) I2C1_CR2 = (I2C1_CR2 & ~I2C_CR2_SADD_7BIT_MASK) | ((x & 0x7F) << I2C_CR2_SADD_7BIT_SHIFT) |
|
#define | __ESOS_I2C_STM32L4_SET_AUTOEND() I2C1_CR2 |= I2C_CR2_AUTOEND |
|
#define | __ESOS_I2C_STM32L4_CLEAR_AUTOEND() I2C1_CR2 &= (~I2C_CR2_AUTOEND) |
|
#define | __ESOS_I2C_STM32L4_SET_RELOAD() I2C1_CR2 |= I2C_CR2_RELOAD |
|
#define | __ESOS_I2C_STM32L4_CLEAR_RELOAD() I2C1_CR2 &= (~I2C_CR2_RELOAD) |
|
#define | __ESOS_I2C_STM32L4_IS_NACK_RECEIVED() (I2C1_ISR & I2C_ISR_NACKF) |
|
#define | __ESOS_I2C_STM32L4_CLEAR_STOP_FLAG() I2C1_ICR |= I2C_ICR_STOPCF |
|
#define | __ESOS_I2C_STM32L4_RESET_CR2() I2C1_CR2 &= (uint32_t)~((uint32_t)(I2C_CR2_SADD_7BIT_MASK | I2C_CR2_HEAD10R | I2C_CR2_NBYTES_MASK | I2C_CR2_RELOAD | I2C_CR2_RD_WRN)) |
|
#define | __ESOS_I2C_STM32L4_IS_BUSY() (I2C1_ISR & I2C_ISR_BUSY) |
|
#define | __ESOS_I2C_STM32L4_IS_TX_EMPTY() (I2C1_ISR & I2C_ISR_TXIS) |
|
#define | __ESOS_I2C_STM32L4_IS_RX_NOT_EMPTY() (I2C1_ISR & I2C_ISR_RXNE) |
|
#define | __ESOS_I2C_HW_START() |
|
#define | __ESOS_I2C_HW_RSTART() |
|
#define | __ESOS_I2C_HW_STOP() |
|
#define | __ESOS_I2C_HW_PUT(byte) |
|
|
void | __esos_i2c_hw_config (uint32_t u32_i2cbps) |
|
| ESOS_CHILD_TASK (__esos_hw_getI2C1, uint8_t *pu8_x, uint8_t u8_ack2Send) |
|
| ESOS_CHILD_TASK (__esos_hw_writeNI2C1, uint8_t u8_addr, uint8_t *pu8_d, uint16_t u16_cnt) |
|
| ESOS_CHILD_TASK (__esos_hw_readNI2C1, uint8_t u8_addr, uint8_t *pu8_d, uint16_t u16_cnt) |
|
|
struct stTask __stChildTaskI2C | __stGrandChildTaskI2C |
|
uint8_t | __esos_i2c_dataBytes [2] |
|
This file contains routines which define, configure and allow use of the I2C service on the ST Microelectronics STM32L452RE MCU.
Definition in file esos_stm32l4_i2c.h.