i2c设备的读写地址换算

本文介绍了如何计算I2C设备的读写地址,包括MAX_17040电池的地址转换,并详细讲解了ioctl函数的使用,如设置I2C_SLAVE、I2C_SLAVE_FORCE等选项。同时,展示了read()和write()函数在有子地址器件中的应用,以及在实际项目中如何处理CTP的I2C地址问题。
摘要由CSDN通过智能技术生成
 #define     MAX_17040_BATTERY_I2C_ADDR        (0x36)
#define     MAX_17040_BATTERY_WRITE_ADDR    (MAX_17040_BATTERY_I2C_ADDR << 1)
#define     MAX_17040_BATTERY_READ_ADDR      ((MAX_17040_BATTERY_I2C_ADDR << 1) + 1)
一般给出i2c 写地址就可以,读地址i2c核心会去自己算出来。
ioctl函数的使用:原型:struct ioctl(struct file *file,unsigned int cmd,unsigned long arg); cmd有I2C_SLAVE,I2C_SLAVE_FORCE,I2C_TENBIT,I2C_S3C2410_SET_SPEED几个选项;    I2C_SLAVE:对应的arg取值为I2C从机地址,用来设定I2C从机地址;
    I2C_SLAVE_FORCE:对应的arg取值为I2C从机地址,用来修改I2C从机地址;
    I2C_TENBIT:对应的arg取值为0:从机地址为7 bit;对应的arg取值为1:从机地址为10bit。用来指定I2C从机地址的位数;  
    I2C_S3C2410_SET_SPEED:对应的arg取值为I2C总线控制器分频值。用来设置I2C
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值