【Linux内核驱动】编写I2C外设驱动读取触摸屏固件版本

本文详细介绍了如何在Linux内核中编写I2C外设驱动,重点是注册I2C设备和驱动,并通过i2c_board_info、i2c_register_driver及i2c_del_driver实现驱动的添加和删除。同时,文章讨论了如何利用I2C客户端的设备地址和主机驱动进行数据传输,通过填充i2c_msg结构体并调用i2c_transfer函数来读取触摸屏固件版本。
摘要由CSDN通过智能技术生成

编写I2C外设驱动步骤

  1. 注册I2C设备,一般在板级文件中,定义i2c_board_info
  2. 注册I2C驱动:i2c_register_driver,i2c_del_driver
  3. 利用i2c_client中的addr(设备地址)和adapter(主机驱动)实现I2C数据传输:填充i2c_msg并调用i2c_transfer
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/delay.h>
#include <linux/i2c.h>
#include <linux/gpio.h>
#include <plat/gpio-cfg.h>
#include <mach/gpio.h>

#define DRIVER_NAME "i2c_test"

MODULE_LICENSE("Dual BSD/GPL");
MODULE_AUTHOR("colorfulshark@hotmail.com");
static void i2c_io_init(void);

static struct i2c_device_id i2c_test_id_table[] = {
    {
  "i2c_test", 0},
    {},
};

static int i2c_test_probe(struct i2c_client *client, const struct i2c_device_id *id);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值