AKM的AK09918调试驱动过
一、描述
二、AK09918是通过标准的I2C协议读写数据的,速率支持100KHz(标准)-400KHz快速模式的。
三、寄存器
enum {COMPANY_ID = 0x48,DEVICE_ID = 0x0C,
};#define AK09918_SLAVE_ADDR 0x0C//
//公司名称Company ID->AKM
#define WIA1_CO_ID_REG 0x00//
//设备ID Device ID->AK09918
#define WIA2_DEVICE_ID_REG 0x01//
//数据状态寄存器1。bit0就绪位DRDY->0:Normal。1:Data is ready。bit1超时位DOR->0:Normal。1:Data OVerrun
//ST2或测量寄存器(HXL to TMPS)被读的时候都是返回0。溢出是连续测量模式下寄存器数据未被及时读走
#define ST1_REG 0x10//
//X轴低八位数据,default:0。range of axis is -32752 to 32752
#define HXL_REG 0x11//
//X轴高八位数据,default:0。range of axis is -32752 to 32752
#define HXH_REG 0x12//
//Y轴低八位数据,default:0。range of axis is -32752 to 32752
#define HYL_REG 0x13//
//Y轴高八位数据,default:0。range of axis is -32752 to 32752
#define HYH_REG 0x14//
//Z轴低八位数据,default:0。range of axis is -32752 to 32752
#define HZL_REG 0x15//
//Z轴高八位数据,default:0。range of axis is -32752 to 32752
#define HZH_REG 0x16//
//哑读操作寄存器
#define TMPS_DUMMY_REG 0x17//
//状态寄存器2。bit4-HOFL:溢出标志->0:Normal。1:Magnetic sensor overflow occurred
//溢出数据无效,数据有效与否的标志,读取(HXL to TMPS)数据之后需要读溢出ST2寄存器
#define ST2_REG 0x18//
//哑读/写操作寄存器
#define CNTL1_DUMMY_REG 0x30//
//操作模式寄存器
#define CNTL2_MODE_REG 0x31//
//复位寄存器->1:Reset。0:Normal
#define CNTL3_RST_REG 0x32
四、地址需要注意,右移一位:
五、读取三轴数据的时候,判断数据就绪的标志。
但是,按照手册设置模式后直接判断DRDY读取三轴数据,DRDY会一直是0。
.
.
.
在寄存器ST1看到
DRDY就绪后需要读ST2或者HXL-TMPS寄存器才会置零。
所以需要在读标志之前进行一次读ST2或者TMPS寄存器。
以上就是我读写AK09918时遇到的问题和解决方法,水平有限,如有不妥,请见谅,请指出。谢谢。
需要源代码的朋友去:ak09918Linux平台和STM32平台驱动程序,实测,亲自调试-Linux文档类资源-CSDN下载
下载去。
AKM的AK09918调试驱动过相关推荐
- 嵌入式Linux(5):驱动开发网络调试驱动设备的Linux系统移植
驱动开发之网络调试驱动设备的Linux系统移植 1.Uboot移植到开发板 uboot移植 2.开发板网络通讯 nfs命令 tftp命令 3.Linux移植到开发板 4.BusyBox 构建根文件系统 ...
- windbg调试驱动学习总结
简单驱动编写与windbg调试 http://trustsec.blog.51cto.com/305338/64694/ 一.驱动编写 随着对windows系统的深入研究,越来越多的内核方面的知识被挖 ...
- VS2012 ddk驱动编译与虚拟机联机调试设置(vs调试驱动)
一.安装Windows Driver Kit 8 1首先在计算机上安装VS2012 (12很容易安装,安装步骤略),然后到官网上下载Windows Driver Kit 8 下载地址: http:// ...
- Windbg无源码调试驱动
文章目录 准备工具 修改OEP 修改校验和 开始调试 准备工具 windbg调试器 一台搭建好双机调试环境的虚拟机 任意一个能运行驱动的软件 CFF Explorer LoadPE 修改OEP 首先随 ...
- 5、WDK 调试驱动使用devcon
由于对于WDK调试完全不了解.然后从网上找了驱动安装工具, 安装第一次能够打印,卸载后再安装发现能够再继续打印了. 怀疑是因为卸载不完整导致 . 果然重启后安装->启动又能够继续打印调试信息. ...
- android driver log,Android调试驱动抓log的方法
转自:http://blog.csdn.NET/menghnhhuan/article/details/7470583 在程序开发过程中,LOG是广泛使用的用来记录程序执行过程的机制,它既可以用于程序 ...
- 使用 vs2012 调试驱动
1 将Target加入到Host同一个域或工作组,可互ping通. 2 Target:确定你的登陆帐号在Administrators组 3 Target:查看活动网络, 高级共享 打开 对应活动网络配 ...
- android usb调试 驱动下载,教你在安装手机上快速打开usb调试模式
Android手机USB调试在哪?安卓手机如何打开USB调试模式?如果我们要将安卓手机连接到电脑上,从而传输文件.下载应用或ROOT等,都需要打开手机的USB调试模式.安卓系统的版本有很多,它们的打开 ...
- WIN10 + VS2015 + WDK10 + SDK10 + VM虚拟机驱动开发调试环境搭建
为什么80%的码农都做不了架构师?>>> 一.准备工作 1 系统环境:Win10系统 2 开发工具:VS2015 3 驱动开发工具:WDK10 4 Windows SDK:SD ...
最新文章
- 中国大学MOOC-C程序设计(浙大翁恺)—— 时间换算
- 解决linux中Kipmi0进程对CPU使用率很高问题
- 从字符串指定位置删除指定个数的字符
- OpenCV:详解掩膜mask
- 前端学习(1153):常量const01
- cuda编程性能 分析工具 nvprof的使用
- J2SE下的路径问题
- Thrift 的原理和使用
- vue 引入液晶数字字体
- 基于Linux的录像机:Neuros OSD
- 【Racket】安装与入门
- 服务器w7系统怎么开启端口,win7如何打开21端口|win7开启21端口的方法
- 怎么用python将日期转化为数字_python转化excel数字日期为标准日期操作
- 关于Oracle 12c ocp认证考试
- 如何在OpenAI创建一个api key(chatgpt)?
- Sumo+Veins+OMNeT仿真调试记录
- 蒋勋:知识分子应具备怎样的美学修养
- AWS、Google、Apple云端宕机背后的故事
- 2023年中国科学技术大学计算机考研上岸前辈备考经验
- DNS服务器的问题,IE浏览器的问题 ,网络防火墙的问题好危险啊!
热门文章
- Python 基础|while 循环语句
- 国标GB/T28181协议下EasyGBS互联网无插件视频播放器起播慢或延迟高问题解决方案
- 解决微信App支付服务端,App上提示“商户支付下单id非法”
- feign实战(provider与consumer)
- source tree ui操作对应的git命令
- vue如何通过键盘方向键切换input焦点
- linux sed去除重复,删除文本中的重复行(sort+uniq/awk/sed)
- 第1章第6节:如何打开之前编辑过的演示文稿 [PowerPoint精美幻灯片实战教程]
- 关于自然语言处理中的语义与概念
- 全面认识当前市面99%的大数据技术框架(附:各大厂大数据技术应用文章)