一、SPI概述

SPI(SerialPeripheralInterface)是一种同步串行通信协议,广泛应用于微控制器和外围设备之间的数据传输。它由摩托罗拉公司开发,具有全双工通信能力,即可以同时进行数据的发送和接收。

SPI通信通常涉及四条信号线:

(1)MOSI(MasterOutSlaveIn):主设备发送数据,外设接收数据。

(2)MISO(MasterInSlaveOut):外设发送数据,主设备接收数据。

(3)SCLK(SerialClock):由主设备生成的时钟信号,用于同步数据传输。

(4)SS(SlaveSelect):选择特定的从设备进行通信。

SPI的优点包括简单的硬件连接、高速数据传输和全双工通信。其缺点是通常需要更多的引脚,尤其是在多个从设备的情况下,每个从设备需要一个独立的SS引脚。此外,SPI没有标准化的协议层,因此设备间的兼容性需要仔细管理。

二、演示功能

本文使用Air780E核心板的SPI总线读写FLASH。

三、硬件环境

3.1 Air780E开发板

3.2 TYPE-C线快充线

3.3 杜邦线

购买链接(数量:6)

3.4 USB延长线

购买链接(数量:1)

3.5 FLASH模块

购买链接(数量:1,注意,一定要选W25Q64型号)

3.6 16针2.54MM间距排针

购买链接(数量:2)

四、软件环境

注:以下软件下载链接,请复制后,粘贴到浏览器URL地址栏进行下载;

4.1 Luatools

Luatools日志打印与程序烧录软件下载

4.2 core固件和源码脚本

注:core固件,是基础环境,该固件由合宙官方提供,用户不可修改;源码脚本,为应用程序,可由客户自行修改;

五、软硬件资料

1、Air780E开发板原理图,打开Air780E产品手册,访问页面中的《EVB_Air780X_V1.6.zip》

2、Air780E开发板使用说明,打开Air780E产品手册,访问页面中的《开发板Core_Air780E使用说明V1.0.5.pdf》

3、API使用介绍说明

5.1 开发板按钮与指示灯图示与说明

BOOT按钮:启动引导,主要用于进入程序下载模式;

复位按钮:系统复位;

开机按钮:冷起动,用于给4G模块开机;

电源指示:供电后常亮,红色;

网络行指示:入网后常亮,翠绿色;

5.2 硬件安装与连接

5.2.1 SIM卡安装

5.2.2 实物连接图

5.2.2.1 线序定义与颜色对应

5.2.2.2 FLASH端

5.2.2.3 开发板端

六、代码示例介绍

6.1 程序流程图

6.2 完整程序清单

注:完整复制后保存为main.lua,可直接使用。

七、功能验证

7.1 开机

按图1进行连接无误后,开发板电源指示红灯常亮,网络指示灯灭,此时按下开机键,约2秒后释放,等待几秒网络指示绿灯常亮,即开机成功,如下图:

7.2 打开Luatool软件工具并进入项目管理测试页面

7.3 按序号步骤,创建项目

7.4 按如下步骤进行程序烧录

7.5 确认烧录结果

7.6 关闭下载页面,并回到查看日志页面

八、总结

至此,我们已使用Air780E开发板的SPI接口完成了对W25Q64读写操作。

SPI接口,如何对W25Q64进行读写操作?深度解析的更多相关文章

  1. spring-data-redis的事务操作深度解析--原来客户端库还可以攒够了事务命令再发?

    一.官方文档 简单介绍下redis的几个事务命令: redis事务四大指令: MULTI.EXEC.DISCARD.WATCH. 这四个指令构成了redis事务处理的基础. 1.MULTI用来组装一个 ...

  2. SPI 用户空间的读写操作

    spi_device 虽然用户空间不需要直接用到spi_device结构体,但是这个结构体和用户空间的程序有密切的关系,理解它的成员有助于理解SPI设备节点的IOCTL命令,所以首先来介绍它.在内核中 ...

  3. SPI编程1:用户空间的读写操作

    spi_device 虽然用户空间不需要直接用到spi_device结构体,但是这个结构体和用户空间的程序有密切的关系,理解它的成员有助于理解SPI设备节点的IOCTL命令,所以首先来介绍它.在内核中 ...

  4. EEPROM的操作---SPI接口和I2C接口

    参考:http://blog.csdn.net/yuanlulu/article/details/6163106 ROM最初不能编程,出厂什么内容就永远什么内容,不灵活.后来出现了PROM,可以自己写 ...

  5. STC8A8K64S4A12通过SPI接口操作基于ST7920的LCD12864液晶模块

    文章地址:https://www.cnblogs.com/jqdy/p/12665430.html 1. 硬件连接 1.1 64引脚的STC8A8K64S4A12 使用的是最小核心板,所以引脚皆引出可 ...

  6. flash读写学习笔记与spi接口及简单测试验证(三)

    FPGA中的视频图像资源,以及想要永久存储的程序都是要存储在flash中,flash是FPGA一个不可缺少的部分,flash的种类有很多,根据winbond公司的128Mbit Qual SPI接口的 ...

  7. CC3000 SPI接口编程介绍

    CC3000 SPI 操作: CC3000的SPI 是基于五根线CLCK,CSn,IRQ,MISO,MOSI:通信模式如下图: CLCK:时钟频率0-26M从主机到从机,提供SPI接口时钟 CSn:低 ...

  8. SPI接口扫盲 SPI定义/SPI时序(CPHA CPOL)

    SPI接口扫盲   douqingl@gmail.com   为何要写这篇文档?百度上找出来的SPI接口中文描述都说的太过简略,没有一篇文档能够详尽的将SPI介绍清楚的.wikipedia英文版[注释 ...

  9. 嵌入式物联网之SPI接口原理与配置

    本实验采用W25Q64芯片 W25Q64是华邦公司推出的大容量SPI FLASH产品,其容量为64Mb.该25Q系列的器件在灵活性和性能方面远远超过普通的串行闪存器件.W25Q64将8M字节的容量分为 ...

  10. Blackfin DSP(五):BF533的SPI接口

    533SPI的特性 最高速度可达SCLK/4: 支持主模式和从模式: 可使用8个GPIO口作为从选择线: 1 slave select input pins 7 slave select output ...

随机推荐

  1. [学习笔记]在不同项目中切换Node.js版本

    @ 目录 使用 Node Version Manager (NVM) 安装 NVM 使用 NVM 安装和切换 Node.js 版本 为项目指定 Node.js 版本 使用环境变量指定 Node.js ...

  2. AD LDAP

    Ref: Windows 域之 LDAP与AD [安全科普]AD域安全协议(三)LDAP AD 域服务简介(一)- 基于 LDAP 的 AD 域服务器搭建及其使用 https://milestone- ...

  3. 2023.7.2-3-4Mssql xp_cmdshell提权

    1.概念 Mssql和SQL sever的一个产品的不同名称.都属于微软公司旗下.而上述Mssql xp_cmdshell提权也属于数据库提权的一种. 主要依赖于sql server自带的存储过程. ...

  4. 【Azure Developer】上手 The Best AI Code "Cursor" : 仅仅7次对话,制作个人页面原型,效果让人惊叹!

    AI Code 时代早已开启,自己才行动.上手一试,让人惊叹.借助这感叹的情绪,把今天操作Cursor的步骤记录下来,也分享给大家. 推荐大家上手一试,让你改变! 准备阶段 下载 Cursor(htt ...

  5. Angular Material 18+ 高级教程 – CDK Scrolling

    Angular CDK 的意义 经过之前两篇文章 CDK Portal 和 CDK Layout の Breakpoints,我相信大家已经悟到了 CDK 的意义. CDK 有 3 个方向: 包装 B ...

  6. SQL Server 中的 NUL 设备/NIL设备

    SQL Server 中的 NUL 设备/NIL设备 在 SQL Server 中,有一个特殊的设备叫做 NUL(注意,不是 NULL),它类似于文件系统中的"黑洞".NUL 设备 ...

  7. SQL注入演示

    SQL注入演示 创建一个简易的登录系统/** tb_user  用户表 * 用户登录系统(需在数据库中创建tb_user表 ) */ @Test public void testUserLogin() ...

  8. SuperMap流数据应用技术方案

    流数据应用技术方案针对流数据应用场景,针对流数据的海量.多源.持续等特征,进行持续地获取相关的动态位置,以及持续地分析.处理和挖掘. 本章沿用基于单机SuperMap iServer环境,介绍流数据处 ...

  9. Springboot 读取 resource 目录下的Excel文件并下载

    如果 inputStream 为null ,或者提示 文件路径不存在,执行 mvn clean 并 重启项目,查看target 目录下是否存在该文件 @GetMapping("/downlo ...

  10. 揭秘!尤雨溪成立的VoidZero如何改变前端世界

    前言 Vue和Vite之父尤雨溪宣布成立公司 VoidZero,目前已经融资3200万.这篇文章欧阳将带你了解VoidZero是如何改变javascript的世界! 关注公众号:[前端欧阳],给自己一 ...