RT-thread中关于I2C设备驱动主要有i2c_core.c、i2c_dev.c、i2c-bit-ops.c这个几个文件,这次的主要任务就是结合提供的i2c驱动库编写eeprom的读写函数,基于ALIENTEK MINI STM32作为开发平台。
第一步:由于RT-thread中的i2c-bit-ops.c文件中已经实现了i2c的总线驱动,我们只需要完成关于结构体rt-i2c-bit-ops中定义的接口就可以了,
1)主要i2c接口定义如下:
struct rt_i2c_bit_ops
{
void *data;
void (*set_sda)(void *data, rt_int32_tstate); // 设置SDA数据线
void (*set_scl)(void *data, rt_int32_tstate); // 设置SCL时钟线
rt_int32_t (*get_sda)(void *data); // 获取SDA数据线状态
rt_int32_t (*get_scl)(void *data); // 获取SCL时钟线状态
void (*udelay)(rt_uint32_t us);
rt_uint32_t delay_us; /* scl and sda line delay */
rt_uint32_t timeout; /* in tick */
};
?问题