BCM2835 I2C函数调试笔记

本人使用AT24C02 EEPROM 芯片通过树莓派的I2C通讯,AT24C02 i2c地址为0x50.
以前一直用wringpi库开发树莓派程序,因为树莓派4不支持wringpi库,所以只能改为BCM2835库。
先比较wringpi的I2C函数,BCM2835库中I2C函数的说明并不清晰,所以总结如下:

重点说明bcm2835_i2c_write和 bcm2835_i2c_read_register_rs函数

uint8_t bcm2835_i2c_write ( const char * buf,uint32_t len)
Parameters
[in] buf : 要发送的地址及数据字节缓冲区。
[in] len :buf缓冲区中的字节数和要发送的字节数。
这里注意:
buf[0]为EEPROM 中的偏移地址,也就是要写入的数据段起始地址。
buf[1]->buf[n+1],为从起始地址开始写入的数据,共n个。
len=n+1;


uint8_t bcm2835_i2c_read_register_rs ( char * regaddr,char * buf,uint32_t len)
Parameters
[in] regaddr :EEPROM 中的偏移地址,也就是要读出的数据段起始地址。
[in] buf  :接收字节的缓冲区。
[in] len  :buf缓冲区中的字节数和接收的字节数。
这个函数比较好理解,如果要读n个数据,则 len =n;

I2C配置参考:
树莓派的I2C - AT24C02 EEPROM 芯片

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值