I.MX6 SHT20 Linux 驱动移植
/***********************************************************************
* I.MX6 SHT20 Linux 驱动移植
* 说明:
* 本来打算使用SHT10来做湿度检测,发现其并不是I2C接口,当然也使用
* GPIO能获取到相关数据了,不过由于不小心将其烧坏了,所以换成SHT20。
*
* 2016-10-10 深圳 南山平山村 曾剑锋
**********************************************************************/ 一、参考驱动:
Android_Native_Service_SHT20Demo
https://github.com/HowardLin/Android_Native_Service_SHT20Demo/blob/master/SHT20_Module_1.2/sht20_driver/sht20.c#L126 二、驱动修改:
static s32 sht20_get_id(struct i2c_client *client, u8 serial[])
{
s32 result;
u8 serialA[];
u8 serialB[]; u8 command1[] = {0xFA, 0x0F}; /* Read from memory location 1 */
u8 command2[] = {0xFC, 0xC9}; /* Read from memory location 2 */ struct i2c_msg get_serial_number_msg1[] = {
{
.addr = client->addr,
.flags = ~I2C_M_RD,
.len = ,
.buf = command1,
},
{
.addr = client->addr,
.flags = I2C_M_RD,
.len = ,
.buf = serialA,
},
};
result = i2c_transfer(client->adapter, get_serial_number_msg1, ); struct i2c_msg get_serial_number_msg2[] = {
{
.addr = client->addr,
.flags = ~I2C_M_RD,
.len = ,
.buf = command2,
},
{
.addr = client->addr,
.flags = I2C_M_RD,
.len = ,
.buf = serialB,
}
};
result = i2c_transfer(client->adapter, get_serial_number_msg2, ); // printk(KERN_INFO "%x %x %x %x %x %x %x %x", serialB[3], serialB[4], serialA[0], serialA[2], serialA[4], serialA[6], serialB[0], serialB[1]); serial[] = serialB[];
serial[] = serialB[];
serial[] = serialA[];
serial[] = serialA[];
serial[] = serialA[];
serial[] = serialA[];
serial[] = serialB[];
serial[] = serialB[]; return result;
}
I.MX6 SHT20 Linux 驱动移植的更多相关文章
- I.MX6 AW-NB177NF WIFI 驱动移植问题
/******************************************************************************** * I.MX6 AW-NB177NF ...
- linux驱动移植的重要数据结构
转载:http://www.embeddedlinux.org.cn/html/jishuzixun/201304/14-2538.html 对于嵌入式 Linux 系统来说,有各种体系结构的处理器和 ...
- linux驱动移植问题点
1.I2C地址是否和其它IC冲突.通过改地址解决 ——通常,以下三种情况的log表现相同:1.ic没连接到主板:2.i2c地址错误:3.该器件I2C地址与同组其它器件冲突 2.I2C通信是否受到其它s ...
- linux网卡驱动移植
这里重要的是物理层PHY receiver,MAC(media access control)层,这里与软件中的协议栈不同,在硬件上MAC是PHY的下一层.DM9000A将MAC和PHY做到一起,也可 ...
- 【转】 linux内核移植和网卡驱动(二)
原文网址:http://blog.chinaunix.net/uid-29589379-id-4708911.html 一,内核移植步骤: 1, 修改顶层目录下的Makefile ARCH ...
- 【转】 linux内核移植和驱动添加(三)
原文网址:http://blog.chinaunix.net/uid-29589379-id-4708909.html 原文地址:linux内核移植和驱动添加(三) 作者:genehang 四,LED ...
- Linux开源模块迁移概述暨交叉编译跨平台移植总结--从《嵌入式Linux驱动模板简洁和工程实践》
本文摘录<嵌入式Linux驱动模板简洁和工程实践>一本书"开发和调试技术". Linux强大的是,有那么多的开源项目可以使用.通常非常需要可以通过寻找相关的源模块被定义 ...
- 【Linux驱动】TQ2440 DM9000E网卡驱动移植(Linux-2.6.30.4)
花了一天的时间研究了一下Linux-2.6.30.4版本号内核下关于TQ2440 DM9000E的网卡驱动移植.总结一下自己的收获. 事实上.在Linux-2.6.30.4版本号内核下有关于网卡驱动, ...
- Linux Charger IC 驱动移植总结
Linux Charger IC 驱动移植总结 文章目录 Linux Charger IC 驱动移植总结 1 设备树的基本知识 设备树的概念 设备树的基本结构 compatible属性 举个栗子 2 ...
随机推荐
- sphinx全文检索功能 | windows下测试 (二)
sphinx 数据库检索需要对数据库重新生成索引,为自己所用,然后按照拆词匹配
- 作用域闭包、预解释和this关键字综合题目
var number = 2; var obj = {number : 5, fn1 : ( function() { this.number *= 2; number=number*2; var n ...
- Java爬虫,信息抓取的实现
转载请注明出处:http://blog.csdn.net/lmj623565791/article/details/23272657 今天公司有个需求,需要做一些指定网站查询后的数据的抓取,于是花了点 ...
- CSS 水平居中
一.水平居中:行内元素解决方案 居中元素:文字.链接以及其它行内元素(inline或inline-*类型的元素,如inline-block,inline-table,inline-flex)解决方案: ...
- my class 2.0
www.dropbox.com www.google.com/voice www.prezi.com www.evernote.com
- [处理器、单片机]ARM
1.ARM简介: ARM是Advanced RISC Machines的缩写.1985年4月26日,第一个ARM原型在英国剑桥的Acorn计算机有限公司诞生,由美国加州San Jose VLSI技术公 ...
- AJAX笔记
浏览器脚本——AJAX AJAX = 异步的 JavaScript 和 XML(Asynchronous JavaScript and XML). 是一种新的技术,它可以创建更好.更快且交互性更强的 ...
- IOS NSInvocation用法简介
IOS NSInvocation用法简介 2012-10-25 19:59 来源:博客园 作者:csj007523 字号:T|T [摘要]在 iOS中可以直接调用某个对象的消息方式有两种,其中一种就是 ...
- c++父类指针强制转为子类指针后的测试(帮助理解指针访问成员的本质)(反多态)
看下面例子: #include "stdafx.h" #include <iostream> class A { //父类 public: void f() / ...
- windows8.1 plsql连接oracle
http://pan.baidu.com/share/link?shareid=3782452820&uk=3557941237 http://pan.baidu.com/share/link ...