libxr
1.0
Want to be the best embedded framework
|
Data Structures | |
struct | HasClockSpeed |
struct | HasClockSpeed< T, std::void_t< decltype(std::declval< T >() ->Init.ClockSpeed)> > |
Public Member Functions | |
STM32I2C (I2C_HandleTypeDef *hi2c, RawData dma_buff, uint32_t dma_enable_min_size=3) | |
ErrorCode | Read (uint16_t slave_addr, RawData read_data, ReadOperation &op) override |
读取 I2C 设备的数据。 Reads data from an I2C device. | |
ErrorCode | Write (uint16_t slave_addr, ConstRawData write_data, WriteOperation &op) override |
向 I2C 设备写入数据。 Writes data to an I2C device. | |
ErrorCode | MemRead (uint16_t slave_addr, uint16_t mem_addr, RawData read_data, ReadOperation &op, MemAddrLength mem_addr_size) override |
从 I2C 设备指定寄存器读取数据。 Reads data from a specific register of an I2C device. | |
ErrorCode | MemWrite (uint16_t slave_addr, uint16_t mem_addr, ConstRawData write_data, WriteOperation &op, MemAddrLength mem_addr_size) override |
向 I2C 设备指定寄存器写入数据。 Writes data to a specific register of an I2C device. | |
template<typename T > | |
std::enable_if<!HasClockSpeed< T >::value >::type | SetClockSpeed (T &, const Configuration &) |
template<typename T > | |
std::enable_if< HasClockSpeed< T >::value >::type | SetClockSpeed (T &i2c_handle, const Configuration &config) |
ErrorCode | SetConfig (Configuration config) override |
配置 I2C 设备参数。 Configures the I2C device settings. | |
![]() | |
I2C () | |
默认构造函数。 Default constructor. | |
Data Fields | |
stm32_i2c_id_t | id_ |
I2C_HandleTypeDef * | i2c_handle_ |
uint32_t | dma_enable_min_size_ |
RawData | dma_buff_ |
ReadOperation | read_op_ |
WriteOperation | write_op_ |
RawData | read_buff_ |
bool | read_ = false |
Static Public Attributes | |
static STM32I2C * | map [STM32_I2C_NUMBER] = {nullptr} |
Additional Inherited Members | |
![]() | |
enum class | MemAddrLength : uint8_t { BYTE_8 , BYTE_16 } |
Definition at line 48 of file stm32_i2c.hpp.
|
inline |
Definition at line 51 of file stm32_i2c.hpp.
|
inlineoverridevirtual |
从 I2C 设备指定寄存器读取数据。 Reads data from a specific register of an I2C device.
该函数从指定 I2C 从设备的寄存器地址读取数据,并存储到 read_data
中。 This function reads data from the specified register of the I2C slave and stores it in read_data
.
slave_addr | I2C 从设备的八位地址。 The eight-bit address of the I2C slave device. |
mem_addr | 寄存器地址(通常为 8 位或 16 位)。 Register address (typically 8-bit or 16-bit). |
read_data | 用于存储读取数据的 RawData 对象。 RawData object to store read data. |
op | 异步或同步的读取操作对象。 Read operation object (sync or async). |
mem_addr_size | 寄存器地址长度。 Size of register address in bytes. |
ErrorCode
,表示是否读取成功。 Returns ErrorCode
indicating success or failure. Implements LibXR::I2C.
Definition at line 144 of file stm32_i2c.hpp.
|
inlineoverridevirtual |
向 I2C 设备指定寄存器写入数据。 Writes data to a specific register of an I2C device.
该函数将 write_data
写入指定 I2C 从设备的寄存器地址。 This function writes write_data
to the specified register of the I2C slave.
slave_addr | I2C 从设备的八位地址。 The eight-bit address of the I2C slave device. |
mem_addr | 寄存器地址(通常为 8 位或 16 位)。 Register address (typically 8-bit or 16-bit). |
write_data | 要写入的数据,ConstRawData 类型。 Data to be written, of type ConstRawData . |
op | 异步或同步的写入操作对象。 Write operation object (sync or async). |
mem_addr_size | 寄存器地址长度。 Size of register address in bytes. |
ErrorCode
,表示是否写入成功。 Returns ErrorCode
indicating success or failure. Implements LibXR::I2C.
Definition at line 191 of file stm32_i2c.hpp.
|
inlineoverridevirtual |
读取 I2C 设备的数据。 Reads data from an I2C device.
该函数从指定的 I2C 从设备地址读取数据,并存储到 read_data
中。 This function reads data from the specified I2C slave address and stores it in read_data
.
slave_addr | 目标 I2C 从设备的八位地址。 The eight-bit address of the target I2C slave device. |
read_data | 存储读取数据的 RawData 对象。 A RawData object to store the read data. |
op | 读取操作对象,包含同步或异步操作模式。 Read operation object containing synchronous or asynchronous operation mode. |
ErrorCode
,指示操作是否成功。 Returns an ErrorCode
indicating whether the operation was successful. Implements LibXR::I2C.
Definition at line 61 of file stm32_i2c.hpp.
|
inline |
Definition at line 255 of file stm32_i2c.hpp.
|
inline |
Definition at line 261 of file stm32_i2c.hpp.
|
inlineoverridevirtual |
配置 I2C 设备参数。 Configures the I2C device settings.
该函数用于设置 I2C 设备的参数,例如通信速率等。 This function sets the parameters of the I2C device, such as the communication speed.
ErrorCode
,指示配置是否成功。 Returns an ErrorCode
indicating whether the configuration was successful. Implements LibXR::I2C.
Definition at line 267 of file stm32_i2c.hpp.
|
inlineoverridevirtual |
向 I2C 设备写入数据。 Writes data to an I2C device.
该函数将 write_data
写入指定的 I2C 从设备地址。 This function writes write_data
to the specified I2C slave address.
slave_addr | 目标 I2C 从设备的八位地址。 The eight-bit address of the target I2C slave device. |
write_data | 需要写入的数据,ConstRawData 类型。 The data to be written, of type ConstRawData . |
op | 写入操作对象,包含同步或异步操作模式。 Write operation object containing synchronous or asynchronous operation mode. |
ErrorCode
,指示操作是否成功。 Returns an ErrorCode
indicating whether the operation was successful. Implements LibXR::I2C.
Definition at line 100 of file stm32_i2c.hpp.
RawData LibXR::STM32I2C::dma_buff_ |
Definition at line 289 of file stm32_i2c.hpp.
uint32_t LibXR::STM32I2C::dma_enable_min_size_ |
Definition at line 287 of file stm32_i2c.hpp.
I2C_HandleTypeDef* LibXR::STM32I2C::i2c_handle_ |
Definition at line 286 of file stm32_i2c.hpp.
stm32_i2c_id_t LibXR::STM32I2C::id_ |
Definition at line 285 of file stm32_i2c.hpp.
|
static |
Definition at line 297 of file stm32_i2c.hpp.
bool LibXR::STM32I2C::read_ = false |
Definition at line 295 of file stm32_i2c.hpp.
RawData LibXR::STM32I2C::read_buff_ |
Definition at line 293 of file stm32_i2c.hpp.
ReadOperation LibXR::STM32I2C::read_op_ |
Definition at line 291 of file stm32_i2c.hpp.
WriteOperation LibXR::STM32I2C::write_op_ |
Definition at line 292 of file stm32_i2c.hpp.