I2C驱动屏幕实验及步骤

本文详细介绍了在Linux环境下,如何使用I2C驱动FT5X06触摸芯片进行屏幕实验。首先,通过终端查找I2C1设备节点,接着讲解了I2C数据包的交流方式,特别是i2c_rdwr_ioctl_data结构体的作用。然后,定义i2c_msg结构体,包括从机地址、读写标志位和数据缓冲区的设置。最后,概述了应用层程序的实现过程。
摘要由CSDN通过智能技术生成

这里以FT5X06触摸芯片为使用I2C1

1.我们通过连接到开发板上面的终端命令查找到I2C1对应的设备节点。

2.应用层操作 I2C 是以数据包进行交流。数据包对应的结构体 i2c_rdwr_ioctl_data

struct i2c_rdwr_ioctl_data
{
struct i2c_msg __user *msgs; 
__u32 nmsgs;}


第一个结构体成员是我们要发送的数据包的指针,第二个结构体成员是发送数据包的个数。

3.定义 i2c_msg 结构体。

struct i2c_msg
{
__u16 addr; /* slave address */
__u16 flags;

#define I2C_M_RECV_LEN 0x0400
__u16 len; /* msg length */
__u8 *buf; /* pointer to msg data */}


结构体成员 addr 是我们从机的地址,flags 为读写标志位,如果 flags 为 1,则为读,反之为 0,则为写。len 为 buf 的大小,单位是字节。当 flags 为 1 是,buf 就是我们要接收的数据,当 flags 为 0 时,就是我们要发送的数据。

应用层程序:

//应用程序与 I2c 通信
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值