news 2026/9/28 20:52:58

嵌入式学习博客:i.MX6ULL ECSPI3 驱动 ADXL345 加速度传感器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
嵌入式学习博客:i.MX6ULL ECSPI3 驱动 ADXL345 加速度传感器

平台:i.MX6ULL
今天学习 SPI,写了 ECSPI3 驱动 ADXL345 三轴加速度传感器,顺便回顾之前学的 IIC、串口 UART,把这三种嵌入式最常用串行总线做横向对比,记录原理、代码和踩坑点。

一、硬件信息

使用开发板引脚:17、18、19、20,映射到 ECSPI3

  • 17:ECSPI3_SCLK
  • 18:ECSPI3_MOSI
  • 19:ECSPI3_MISO
  • 20:GPIO1_IO20,软件控制 CS 片选(不是硬件 NSS,GPIO 模拟片选)

重点:i.MX6ULL 的 ECSPI 片选这里我们用普通 GPIO 来控制,而不是 ECSPI 自带硬件片选,灵活性更高。

二、SPI 底层驱动代码spi.c

三、ADXL345 传感器驱动adxl345.c

驱动要点小结

  1. SPI 是全双工,spi3_read_write发的同时收,读传感器必须发 Dummy 字节0xFF用来提供时钟。
  2. ADXL345 SPI 协议规定:地址最高位为 1 代表读,0 代表写。
  3. CS 使用普通 GPIO 软件控制,通信前拉低,通信结束拉高。
  4. 原始数据是 16 位有符号数,乘以 0.0039 转换成重力加速度 g。

四、SPI / IIC / UART 三种总线横向对比

五、学习感悟

最近串行总线学习路线:UART → IIC → SPI。

  1. UART 是异步,不需要时钟线,靠双方约定波特率,做调试打印最常用。
  2. IIC 只需要两根线,依靠地址来区分设备,但是半双工,速度比较慢,适合低速外设。
  3. SPI 同步全双工,速度最快,但是引脚多,靠 CS 片选管理多个从机。本次 i.MX6ULL ECSSPI 驱动 ADXL345,对 SPI 全双工的特性理解更深刻:SPI 不存在单纯读或者单纯写,只要 SCK 时钟在跑,就会一边发一边收。

头文件模板(adxl345.h)给你补上

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/28 20:51:14

告别人工盘点内卷!RFID智能资产管理系统,让企业资产真正“看得见、管得住、用得活”

盘点加班、账实不符、资产丢失、重复采购、台账混乱……几乎所有中大型企业、园区、工厂、政企单位,都在被传统固定资产管理痛点反复消耗。二维码必须近距离对准、遮挡无法识别、堆叠设备难以核查、人工统计误差高、资产异动无法实时监控。依靠Excel台账人工值守的管…

作者头像 李华
网站建设 2026/9/28 20:50:42

C++ 异常:如何构建异常安全的健壮系统?

目录 一,异常的概念 二,异常的抛出和捕获 2.1抛出的异常应当由对应的捕获类型捕获 2.2异常抛出根据就近原则 2.3异常抛出后到被捕获前的代码全部失效 2.4异常抛出会生成异常拷贝对象 2.5栈展开——异常捕捉的原理 三,查找匹配的处理代…

作者头像 李华
网站建设 2026/9/28 20:50:36

AI大模型1-1-大模型认知与工程概览

1-1-大模型认知与工程概览 一、结论 大模型不是“突然变聪明”,而是数据规模、算力基础设施、Transformer 架构共同演进的结果。 这里先给“大模型”一句白话解释:可以粗略理解为“用海量数据和强算力训练出来的超大神经网络,能在多种任务上表…

作者头像 李华
网站建设 2026/9/28 20:50:34

PY32F002B串口printf重定向实操:从点灯到调试效率提升

不少人拿到 PY32F002B 开发板,第一件事就是点灯。点完之后呢?就不知道该干什么了。其实对于刚接触 32 位 MCU 的人来说,串口通信是最值得先打通的一环,而把 printf 重定向到串口,又是这一环里最实用的一步。我用这块几…

作者头像 李华
网站建设 2026/9/28 20:50:28

测试人转型AI测试开发:大模型与Agent落地实践指南

测试圈里最近两年有个很明显的现象:招聘网站上"测试开发"岗位的JD里,开始频繁出现"熟悉大模型应用""有AI测试经验优先""了解Agent框架"这类要求。与此同时,不少做了三五年功能测试的朋友开始焦虑——…

作者头像 李华