| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> LSM6DS3TR-C姿态传感器的使用(一)--- 模拟IIC -> 正文阅读 |
|
[嵌入式]LSM6DS3TR-C姿态传感器的使用(一)--- 模拟IIC |
最近做一个测量角度的项目,经过同事推荐发现这款强大的芯片LSM6DS3TR-C,它的功能很多,有加速计、陀螺仪、计步、单击/双击、方向检测、活动/不活动检测等,在此记录自己项目过程,预留备份,高手请绕行,勿喷,多谢! 该芯片的通信是II2或SPI,我是使用的IIC,分别使用了模拟IIC、HAL库IIC对其通信。 改芯片的IIC地址需要注意一下,资料上是根据SA0引脚的电平决定的,如下 ?我原理图上的SA0是接地的,所以IIC写地址为0XD4,读地址为0XD5 模拟IIC代码如下: void IIC_delay(void) static IIC_State LSM6D3S_Start(void) static IIC_State LSM6D3S_Wait_ACK()//第9个时钟信号,检测DIO电平 //产生ACK应答
static void LSM6D3S_SendByte(uint8_t data) ??? ? ? ? 测试时,先读出芯片ID,其寄存器地址为0X0F,其值为0X6A ? uint8_t Read_LSM6DS3_WHO_AM_I(void) 主函数可以测试一下 void main(){ ....... HAL_Delay(20); while(1) { } } 该工程只读取ID、温度、陀螺仪的数据,未对加速计寄存器配置及读取。 在读取操作的时候,也有一点插曲,读取温度的时候,温度只要小于25度,读取的数据显示成温度值就不对,排查原因发现,自己写的读取函数返回值为无符号的数据,所以导致 显示的温度小于25度就乱了(特别大),对于为什么是小于25度,具体查看官方例程如下 做此记录,希望以后不要犯类似错误 下篇记录:利用hal库 及 官网例程 编写LSM6DS3TR-C操作配置程序 整个工程下载连接如下: |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 4:36:25- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |