zoukankan      html  css  js  c++  java
  • I2C驱动程序

    i2c_add_driver
    i2c_register_driver
    driver->driver.bus = &i2c_bus_type;
    driver_register(&driver->driver);

    list_for_each_entry(adapter, &adapters, list) {
    driver->attach_adapter(adapter);
    i2c_probe(adapter, &addr_data, eeprom_detect);
    i2c_probe_address // 发出S信号,发出设备地址(来自addr_data)
    i2c_smbus_xfer
    i2c_smbus_xfer_emulated
    i2c_transfer
    adap->algo->master_xfer // s3c24xx_i2c_xfer


    怎么写I2C设备驱动程序?
    1. 分配一个i2c_driver结构体
    2. 设置
    attach_adapter // 它直接调用 i2c_probe(adap, 设备地址, 发现这个设备后要调用的函数);
    detach_client // 卸载这个驱动后,如果之前发现能够支持的设备,则调用它来清理

    3. 注册:i2c_add_driver

    测试1th:
    1. insmod at24cxx.ko
    观察输出信息
    2. 修改normal_addr里的0x50为0x60
    编译加载,观察输出信息

     【转】韦东山 老师教学笔记

  • 相关阅读:
    展示
    发布说明
    团队作业Week14
    Scrum Meeting NO.10
    Scrum Meeting NO.9
    Scrum Meeting NO.8
    Scrum Meeting NO.7
    Scrum Meeting NO.6
    ES6/ES2015核心内容
    用React & Webpack构建前端新闻网页
  • 原文地址:https://www.cnblogs.com/Hello-words/p/5834629.html
Copyright © 2011-2022 走看看