Linux IIC读写简易教程(linuxiic读写)
Linux下IIC(Inter-Integrated Circuit,通信又称“I2C”)接口的读写是利用i2c-dev.h头文件中的4个库函数来实现的,实现方法应该和其他系统大体类似,操作上也都大同小异。
下面就来介绍如何使用这4个库函数实现IIC读写。1、准备工作。先安装i2c-tools和libi2c-dev包。
sudo apt-get install i2c-tools libi2c-dev
2、打开IIC串行总线:
//打开I2C总线
int i2c_open(int i2cbus, int i2cadd);
// 函数参数:
// i2cbus:表示要打开的I2C总线id,如果有2个IIC,就是1,2
//i2cadd:表示IIC总线上要操作的设备的地址,默认是0
//使用示例:
//打开i2c1总线上的0x50的设备的文件描述符
int fd = i2c_open(1, 0x50);
3、写数据:
//向设备写入len个字节数据
int i2C_Write(int fd,char *buf, int len);
//函数参数:
//fd:IIC设备文件描述符
//buf:要发送的数据缓冲区指针
//len:需要发送的数据个数
//使用示例:
// 向i2c1总线上的0x50的设备写入4字节的数据
unsigned char wdata[4]={0x01,0x02,0x03,0x04};
i2c_Write(fd,wdata,4);
4、读数据:
//从设备读取len个字节数据
int i2C_Read(int fd,char *buf, int len);
//函数参数:
//fd:IIC设备文件描述符
//buf:接收数据缓冲区指针
//len:接收的数据个数
//使用示例:
// 从i2c1总线上的0x50的设备读取4字节的数据
unsigned char rdata[4];
i2c_Read(fd,rdata,4);
5、关闭IIC总线:
//关闭IIC总线
int i2C_Close(int fd);
//函数参数:
//fd:IIC设备文件描述符
//使用示例:
// 关闭i2c1总线上的0x50的设备
int ret = i2C_Close(fd);
需要注意的是,此时I2C还没有开始操作,所有的操作都在调用i2c_open函数后,程序才开始真正的操作I2C,而关闭i2c的时候,可能还存在一些未读取的数据,最好在关闭前做结尾处理,例如i2c_write一个停止状态或者读取Remaining data,然后再关闭I2C设备文件描述符才好!
以上就是Linux下IIC的读写过程,使用起来都是很简单的,只需要知道总线ID以及需要操作的I2C设备的地址即可完成IIC读写。
我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题
本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 Linux IIC读写简易教程(linuxiic读写)
相关文章
- linux内核编程指南_UNIX/LINUX
- 查看Linux发行版本:一步一步教程(linux发行版本查看)
- Linux下轻松管理桌面环境(linux桌面环境)
- 解析 Linux驱动程序源码分析与实践(linux驱动源码)
- 简易步骤:Linux系统搭建PXE服务器(linux搭建pxe服务器)
- 查询Linux用户信息简易指南(查询用户信息linux)
- Linux下IP地址配置简易指南(linux命令配置ip)
- Linux获取本地IP地址方法简介(linux获取本地ip地址)
- 【Linux简易指南:如何打开可执行文件】(linux打开可执行文件)
- Linux 下日志打印的命令简易指南(linux打印日志命令)
- 防御保护Linux服务器:常见攻击的防护策略(linux服务器常见攻击)
- 权限Linux系统添加sudo权限的正确方法(linux添加sudo)
- Linux热门版本:最佳选择(linux流行版本)
- Linux教程:找寻最适合你的那一个(linux教程哪个好)
- Linux 分区与挂载:简易教程(linux分区与挂载)
- 指南:轻松自学Linux操作系统(怎么自学linux)
- 解决Linux服务器卸载的简易步骤(linux服务器卸载)
- Linux 分支:解读最新发展(linux的分支)
- 深入理解Linux子域结构(linux子域)
- Linux查看80端口占用情况简易操作(linux查看80端口占用)
- Linux 优化:排序去重之道(linux排序去重)
- 熟悉Linux:关闭防火墙的简易指南(关闭linux的防火墙)
- Linux磁盘挂载检查,完整教程一网打尽(linux查看挂载磁盘)
- 学Linux必备指南:linux教程.pdf完美实践入门与进阶(linux教程.pdf)
- Linux与AIX:两个操作系统的比较分析(linux和aix)
- Linux下实现多线程操作的同步和互斥机制(linux线程同步与互斥)
- Linux如何安全有效地删除目录文件(linux删除目录文件)
- Linux下免费共享打印机的使用教程(linux共享打印机)
- Linux红帽系统:尽情体验自由之旅(linux红帽系统下载)
- 欢迎来到Linux世界:开源技术的引领与创新(linux欢迎)
- Linux下的CICS: 挑战与发展(cics linux)
- Linux下快速构建FTP脚本的简易技巧(linux 下ftp脚本)
- Linux桌面环境快速指南(linux桌面版教程)
- Linux下高效掌握逆向工具(linux逆向工具)
- Linux 格式化 NTFS的简易操作(linux 格式ntfs)