fixing IIC

This commit is contained in:
2025-08-15 18:51:56 +08:00
parent dd7549d62b
commit 8adabcd08d
4 changed files with 154 additions and 70 deletions

View File

@@ -56,18 +56,10 @@ typedef enum {
I2C_STATE_RESTART, /* Generate restart condition */
I2C_STATE_RECEIVE_DATA, /* Receive data */
I2C_STATE_STOP, /* Generate stop condition */
I2C_STATE_ERROR /* Error state */
I2C_STATE_ERROR, /* Error state */
I2C_STATE_END
} i2c_state_t;
/* Legacy enumeration for compatibility */
typedef enum {
I2C_START = 0,
I2C_SEND_ADDRESS,
I2C_CLEAR_ADDRESS_FLAG,
I2C_TRANSMIT_DATA,
I2C_STOP
} i2c_process_enum;
/******************************************************************************/
@@ -96,7 +88,6 @@ i2c_result_t i2c_bus_reset(void);
*/
void i2c_scan(void);
// TODO I2C Result
/*!
\brief write 16-bit data to I2C device
\param[in] slave_addr: 7-bit slave address
@@ -105,9 +96,8 @@ void i2c_scan(void);
\param[out] none
\retval i2c_result_t
*/
uint8_t i2c_write_16bits(uint8_t slave_addr, uint8_t reg_addr, uint8_t data[2]);
i2c_result_t i2c_write_16bits(uint8_t slave_addr, uint8_t reg_addr, uint8_t data[2]);
// TODO I2C Result
/*!
\brief read 16-bit data from I2C device
\param[in] slave_addr: 7-bit slave address
@@ -115,9 +105,8 @@ uint8_t i2c_write_16bits(uint8_t slave_addr, uint8_t reg_addr, uint8_t data[2]);
\param[out] data: pointer to 2-byte data buffer
\retval i2c_result_t
*/
uint8_t i2c_read_16bits(uint8_t slave_addr, uint8_t reg_addr, uint8_t *data);
i2c_result_t i2c_read_16bits(uint8_t slave_addr, uint8_t reg_addr, uint8_t *data);
// TODO I2C Result
/*!
\brief read 16-bit data from I2C device
\param[in] slave_addr: 7-bit slave address
@@ -125,7 +114,7 @@ uint8_t i2c_read_16bits(uint8_t slave_addr, uint8_t reg_addr, uint8_t *data);
\param[out] data: pointer to 2-byte data buffer
\retval i2c_result_t
*/
uint8_t i2c_read_16bits(uint8_t slave_addr, uint8_t reg_addr, uint8_t *data);
i2c_result_t i2c_read_16bits(uint8_t slave_addr, uint8_t reg_addr, uint8_t *data);
/*!
\brief get status string for debugging