libxr 1.0
Want to be the best embedded framework
Loading...
Searching...
No Matches
i2c.hpp
1#pragma once
2
3#include "libxr.hpp"
4
5namespace LibXR
6{
7
16class I2C
17{
18 public:
24 {
27 };
28
29 enum class MemAddrLength : uint8_t
30 {
31 BYTE_8,
32 BYTE_16
33 };
34
39 I2C() {}
40
59 virtual ErrorCode Read(uint16_t slave_addr, RawData read_data, ReadOperation &op) = 0;
60
78 virtual ErrorCode Write(uint16_t slave_addr, ConstRawData write_data,
79 WriteOperation &op) = 0;
80
93 virtual ErrorCode SetConfig(Configuration config) = 0;
94
116 virtual ErrorCode MemRead(uint16_t slave_addr, uint16_t mem_addr, RawData read_data,
117 ReadOperation &op,
118 MemAddrLength mem_addr_size = MemAddrLength::BYTE_8) = 0;
119
141 ConstRawData write_data, WriteOperation &op,
142 MemAddrLength mem_addr_size = MemAddrLength::BYTE_8) = 0;
143};
144
145} // namespace LibXR
常量原始数据封装类。 A class for encapsulating constant raw data.
I2C(Inter-Integrated Circuit)接口类。 I2C (Inter-Integrated Circuit) interface class.
Definition i2c.hpp:17
virtual ErrorCode SetConfig(Configuration config)=0
配置 I2C 设备参数。 Configures the I2C device settings.
virtual ErrorCode Read(uint16_t slave_addr, RawData read_data, ReadOperation &op)=0
读取 I2C 设备的数据。 Reads data from an I2C device.
virtual ErrorCode Write(uint16_t slave_addr, ConstRawData write_data, WriteOperation &op)=0
向 I2C 设备写入数据。 Writes data to an I2C device.
I2C()
默认构造函数。 Default constructor.
Definition i2c.hpp:39
virtual ErrorCode MemWrite(uint16_t slave_addr, uint16_t mem_addr, ConstRawData write_data, WriteOperation &op, MemAddrLength mem_addr_size=MemAddrLength::BYTE_8)=0
向 I2C 设备指定寄存器写入数据。 Writes data to a specific register of an I2C device.
virtual ErrorCode MemRead(uint16_t slave_addr, uint16_t mem_addr, RawData read_data, ReadOperation &op, MemAddrLength mem_addr_size=MemAddrLength::BYTE_8)=0
从 I2C 设备指定寄存器读取数据。 Reads data from a specific register of an I2C device.
原始数据封装类。 A class for encapsulating raw data.
LibXR Color Control Library / LibXR终端颜色控制库
constexpr auto min(T1 a, T2 b) -> typename std::common_type< T1, T2 >::type
计算两个数的最小值
I2C 设备的配置信息结构体。 Configuration structure for an I2C device.
Definition i2c.hpp:24
uint32_t clock_speed
I2C 通信时钟速率(单位:Hz)。 The I2C clock speed (in Hz).
Definition i2c.hpp:26