IIC设备驱动程序(九)————用户态直接访问IIC设备
来源:互联网 发布:什么软件推广赚钱 编辑:程序博客网 时间:2024/05/17 01:24
参考上一个微博:IIC设备驱动程序(八)————dev-interface
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include "i2c-dev.h"/* i2c_usr_test </dev/i2c-0> <dev_addr> r addr * i2c_usr_test </dev/i2c-0> <dev_addr> w addr val */void print_usage(char *file){ printf("%s </dev/i2c-0> <dev_addr> r addr\n", file); printf("%s </dev/i2c-0> <dev_addr> w addr val\n", file);}int main(int argc, char **argv){ int fd; unsigned char addr, data; int dev_addr; if ((argc != 5) && (argc != 6)) { print_usage(argv[0]); return -1; } fd = open(argv[1], O_RDWR); if (fd < 0) { printf("can't open %s\n", argv[1]); return -1; } dev_addr = strtoul(argv[2], NULL, 0); if (ioctl(fd, I2C_SLAVE, dev_addr) < 0) { /* ERROR HANDLING; you can check errno to see what went wrong */ printf("set addr error!\n"); return -1; } if (strcmp(argv[3], "r") == 0) { addr = strtoul(argv[4], NULL, 0); data = i2c_smbus_read_word_data(fd, addr); printf("data: %c, %d, 0x%2x\n", data, data, data); } else if ((strcmp(argv[3], "w") == 0) && (argc == 6)) { addr = strtoul(argv[4], NULL, 0); data = strtoul(argv[5], NULL, 0); i2c_smbus_write_byte_data(fd, addr, data); } else { print_usage(argv[0]); return -1; } return 0;}
0 0
- IIC设备驱动程序(九)————用户态直接访问IIC设备
- IIC设备驱动程序(三)————IIC设备驱动程序的层次结构
- IIC设备驱动程序(一)————IIC设备的总线及其协议
- IIC设备驱动程序(二)————IIC设备的硬件原理
- IIC设备驱动程序(四)————IIC总线驱动程序框架分析
- IIC设备驱动程序(十)————IIC总线驱动实现实例
- IIC设备驱动程序(七)————设备层驱动程序实现实例
- linux IIC子系统分析(九)——实例分析通过设备节点访问I2c设备
- IIC设备驱动程序(五)————IIC设备实例化的四种方法
- IIC设备驱动程序(六)————SMBus协议
- IIC设备驱动程序(八)————dev-interface
- IIC设备驱动程序(十一)————I2C 原理及应用
- IIC设备驱动程序(十四)————转载文章
- IIC设备驱动程序介绍
- IIC设备驱动程序
- IIC设备驱动程序
- IIC设备驱动程序
- IIC设备驱动程序(十二)————实例解析linux内核I2C体系结构(1)
- Cocos2d-x lua学习笔记
- 数据结构与算法(18)——二叉树习题一
- SQLiteDatabase 操作大全
- maven多模块创建-实战(2)
- 寻找丢失的第一个正整数
- IIC设备驱动程序(九)————用户态直接访问IIC设备
- java.lang.IllegalArgumentException: Document base D:\apache-tomcat-7.0.47\webapps\XXX错误
- angular2权威教程(中文版)(ng-book2)
- 通过流实现文件读写的方法(下)
- mysql安装问题
- Websphere GC分析器(Garbage collection Analyser)GA
- Hibernate 01
- Dapper.NET——轻量ORM
- 2单例/单件模式(Singleton Pattern)