工作总结—HMC5883L应用的一些说明
1、HMC5883L通过IIC总线与主机进行通信,其IIC控制字节地址如下
7-bit地址 | 0x1E | 0001 1110 |
8-bit读取地址 | 0x3D | 0011 1101 |
8-bit写入地址 | 0x3C | 0011 1100 |
可以发现,HMC5883L的IIC控制字节地址与IIC总线控制字节地址是一致的。其中高4位为器件类型标识符,接着3位为片选,最低位为读写控制位(1为读操作,0为写操作)。
HMC5883L IIC接口特性说明:
HMC5883L作为一个IIC兼容装置,该装置包含一个7-bit串行地址,并支持IIC协议。HMC5883L可以支持标准和快速模式,分别为100kHz和400kHz,但不支持高速模式(Hs)。
要求主机的活动(寄存器读取和写入)优先于内部活动,例如测量,这一优先次序的安排是为了不让主机等待,同时IIC总线占用的事件比必须的时间长。
2、HMC5883L一些引脚说明
VCC | 2.16V-3.6V |
GND | |
SCL | 串行时钟——IIC总线主/从时钟 |
SDA | 串行数据——IIC总线主/从数据 |
DRDY | 数据准备,中断引脚,内部被拉高,选项为连接,当数据位于输出寄存器上时会在低电位上停250us |
3、HMC5883L寄存器说明
地址 | 名称 | 访问 | 默认值 |
00 | 配置寄存器A(Configuration Register A) | 读/写 | 1111 0000(CRA) |
01 | 配置寄存器B(Configuration Register B) | 读/写 | 0010 0000 |
02 | 模式寄存器(Mode Register) | 读/写 | 1000 0001(默认为单一测量模式) |
03 | 数据输出X MSB寄存器(Data Output X MSB Register) | 读 | 0000 0000 |
04 | 数据输出X LSB寄存器(Data Output X LSB Register) | 读 | 0000 0000 |
05 | 数据输出Z MSB寄存器(Data Output Z MSB Register) | 读 | 0000 0000 |
06 | 数据输出Z LSB寄存器(Data Output Z LSB Register) | 读 | 0000 0000 |
07 | 数据输出Y MSB寄存器(Data Output Y MSB Register) | 读 | 0000 0000 |
08 | 数据输出Y LSB寄存器(Data Output Y LSB Register) | 读 | 0000 0000 |
09 | 状态寄存器(Status Register) | 读 | 0000 0000 |
10 | 识别寄存器A(Identification Register A) | 读 | 0100 1000(ASCII值为H) |
11 | 识别寄存器B(Identification Register B) | 读 | 0011 0100(ASCII值为4) |
12 | 识别寄存器C(Identification Register C) | 读 | 0011 0011(ASCII值为3) |
4、HMC5883L读写说明
HMC5883L利用地址指针来说明读取或者写入的寄存器位置。这些指针由主机发往从机,并且跟在7-bit地址和1-bit读/写控制位之后。
下面以读数据为例说明HMC5883L IIC读取数据时应该进行的操作时序。
1、发送从器件控制字节0x3C(写入操作)。注意,此操作之后主机再往从机发送的数据就是主机写入从机的数据
2、发送数据3(由器件手册可知,3为数据输出X MSB寄存器的地址)。此操作也就是写想要读取数据的寄存器地址。
3、发送从器件控制字节0x3D(读取操作)。注意,此操作之后从机便向主机发送步骤2所发送的地址处的数据。
4、将从器件发送过来的数据写入相应的数组。
关于HMC5883L读数据需要作如下说明。
HMC5883L为了尽可能减少主机与从机之间的通信,地址指针会在不需要主机干涉的情况下自动更新。这种自动更新的地址更新有两种附加的特性。
1、当访问12或者更高的地址时,指针会自动更新到00。也就是返回首寄存器的地址。
2、当指针达到08时,指针回滚到地址03。也就是说此时指针一直在6个数据寄存器之间滚动,从机一直滚动向主机发送数据。
To move the address pointer to a random register location, first issue a “write” to that register location with no data byte following the commend. For example, to move the address pointer to register 10, send 0x3C 0x0A.
为了将地址指针移动到随机的寄存器地址,首先应该发送写指令,之后再跟一个无数据字节(在这里我自己理解我所要移动到随机的寄存器的地址)。例如,要将地址指针移动到寄存器10 ,就发送0x3C 0x0A。
0x3C为HMC5883L的写控制字节,告诉从机下一个发送的字节为写入到从机的字节。
0x0A为HMC5883L的寄存器10的地址,此时地址指针就指向寄存器10了。如果要进行读操作,则发送HMC5883L的读控制字节0x3D,然后从机将会发送相应的寄存器中的数据返回至主机。如果要进行写操作,则发送HMC5883L的写控制字节0x3C,然后再发送的数据就会写入当前指针指向的寄存器。
读 |
工作总结—HMC5883L应用的一些说明相关推荐
- HMC5883L 电子指南针
电子指南针也称为电子罗盘,是一种重要的导航工具,能实时提供移动物体的航向和姿态.随着半导体工艺的进步和手机操作系统的发展,集成了越来越多传感器的智能手机变得功能强大,很多手机上都实现了电子罗盘的功能. ...
- 关于HMC5883L驱动书写及调试的总结
刚刚结束对传感器HMC5883L的驱动书写及调试工作,虽然之前对相关的各种知识点都有接触,但是在真正从头书写驱动的时候还是遇到了很多不大不小的麻烦,在这里自行总结一下,也是作为以后驱动书写的一个经验教 ...
- 3轴数字罗盘IC HMC5883L介绍
3轴数字罗盘IC HMC5883L简介 霍尼韦尔 HMC5883L 是一种表面贴装的高集成模块,并带有数字接口的弱磁传感器芯片,应用于低成本罗盘和磁场检测领域.HMC5883L 包括最先进的高分辨率H ...
- 工作如果没有方法,光靠苦力是不行的
在职场中,如果你已经升职为一个管理者了,有时候光靠苦力是不行的,还要认真读点在工作上能有用到的书,才能增加知识,开通思路,增长才能. 在平时也要发奋读现在或将来能用到的书,抓紧点滴时间.一个管理者的才 ...
- 外包工作经历暨2021年终总结
公司:太极-慧点科技 时间:2021/3/24~2021/6/7 项目:工商联/经济日报社OA项目 技术点: 前端:VUE封装组件 后端:Springboot.Spring Data Jpa Jenk ...
- Java学到什么水平能够出去找工作!
Java学到什么水平能够出去找工作!搞定这些技术吧! 1.JavaSE内容 环境搭建,基础语法,面向对象,数组,集合,常用API,IO流,反射机制,多线程,网络编程 要求: 利用这些基础知识,写出一个 ...
- 广泛的信号处理链如何让语音助理“正常工作”
广泛的信号处理链如何让语音助理"正常工作" How extensive signal processing chains make voice assistants 'just w ...
- GPU—加速数据科学工作流程
GPU-加速数据科学工作流程 GPU-ACCELERATE YOUR DATA SCIENCE WORKFLOWS 传统上,数据科学工作流程是缓慢而繁琐的,依赖于cpu来加载.过滤和操作数据,训练和部 ...
- 2021年大数据ELK(二十):FileBeat是如何工作的
全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 FileBeat是如何工作的 一.input和harvester 1.inpu ...
- 2021年大数据ELK(十八):Beats 简单介绍和FileBeat工作原理
全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 Beats 简单介绍和FileBeat工作原理 一.Beats 二.FileB ...
最新文章
- pandas的series和dataframe
- postman测试post请求
- 《正则表达式经典实例(第2版)》——2.6 匹配完整单词
- 一起谈.NET技术,初识Silverlight 4及其架构
- Echarts开源可视化库学习(二)常用图表的实现与效果
- 【jquery版.net控件—dropdownlist】附源码,欢迎大家指点、指正、拍砖!!!
- SSIS中循环遍历组件[Foreach Loop Container]
- httpclient base64 文件上传_文件上传下载
- Leetcode--134. 加油站
- MySQL : mysql连接报 Communications link failure
- c# lock的使用及注意事项
- mac模式怎样构造在jsp中_在MAC下搭建JSP开发环境
- 【转】多态与 new [C#]
- Qlocker勒索病毒 7Z勒索病毒 7Z压缩包密码破解
- C语言编写小程序——万年历
- 什么是应用宝统一链接服务器,applink
- 95-2.Hive史诗级调优大全_ev 两个案例重复了 没用
- java.Net.UnknownHostException异常处理的方法
- MySQL MGR 单主模式下单点故障时的节点角色切换规则
- Python将图片插入到Excel中
热门文章
- java软件汉化工具_6款程序员必备的开源中文处理工具
- 闪讯无线助手-Android端闪讯破解路由器拨号实现原理
- 全志android编译过程
- 硬盘盒刷固件使其不休眠
- Shadow Defender 1.4.0.561 简体中文注册码破解版(最好用的影子保护系统)
- erp和php数据对接,ERP系统与PLC数据对接方法
- 深度学习与PyTorch入门实战教程
- jdk,j2sdk,j2eesdk,jre 的区别和联系
- SNN系列|神经元模型篇(4) LIF
- QT cmd强制删除文件