一、步骤

  1.首先匹配i2c的控制器设备和控制器驱动,会生成一个struct i2c_adapter对象,

  2.根据i2c_board_info   ,在  arch/arm/mach-sunxi/sun8i.c   描述i2c设备信息,也可以按照  https://www.cnblogs.com/edan/p/9238180.html  中的步骤添加

    用法可以参看uboot_kernel/orangepi_sdk/source/linux-3.4.112/Documentation/i2c/instantiating-devices

  i2c驱动dht12的原理和步骤

  3.写i2c设备驱动,具体可以参考https://blog.csdn.net/jklinux/article/details/74199964  

  重点:i2c通过控制器传输数据,只用了一个函数,

  

1 int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num)
  adap:控制器的对象
  msgs:发送消息的结构体
  num:传送数据的个数。
注:有几个开始信号则表示有几则消息,msgs则为数组,有几个停止信号,则表示调用几次这个函数

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-07-08
  • 2021-05-26
  • 2021-05-29
  • 2021-11-19
  • 2022-12-23
猜你喜欢
  • 2022-01-06
  • 2021-11-29
  • 2021-09-06
  • 2021-10-09
  • 2021-04-07
相关资源
相似解决方案