下面是战舰V3的SPI例程,我的问题是:不是说发送数据和读取数据不是同时的,要读取就要先发送吗?  读取设备ID的时候先发送了0x90,再发送00,再发送00,再发送00,发送第一个0x90的时候flash会返回什么数据吗?发送00的时候flash又会返回什么数据吗? 为什么发送完第三个00的时候不直接把数据读出来,而是再发了一个FF才把数据读出来?

u8 SPI2_ReadWriteByte(u8 TxData)

{

u8 retry=0;

while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE) == RESET) //检查指定的SPI标志位设置与否:发送缓存空标志位

{

retry++;

if(retry>200)return 0;

}

SPI_I2S_SendData(SPI2, TxData); //通过外设SPIx发送一个数据

retry=0;

while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == RESET) //检查指定的SPI标志位设置与否:接受缓存非空标志位

{

retry++;

if(retry>200)return 0;

}

return SPI_I2S_ReceiveData(SPI2); //返回通过SPIx最近接收的数据

u16 W25QXX_ReadID(void)

{

u16 Temp = 0;

W25QXX_CS=0;

SPI2_ReadWriteByte(0x90);//发送读取ID命令

SPI2_ReadWriteByte(0x00);

SPI2_ReadWriteByte(0x00);

SPI2_ReadWriteByte(0x00);

Temp|=SPI2_ReadWriteByte(0xFF)<<8;

Temp|=SPI2_ReadWriteByte(0xFF);

W25QXX_CS=1;

return Temp;

}

linux spi flash id,SPI读flash的ID问题相关推荐

  1. SPI应用——W25Q128串行FLASH

    一.FLASH存储器介绍 FLASH存储器又称闪存,它与EEPROM都是掉电后数据不丢失的存储器,但FLASH存储器容量普遍大于EEPROM,现在基本取代了它的地位.在存储控制上,最主要的区别是FLA ...

  2. 基于STM32与NOR FLASH的SPI通信

      SPI的通信很容易实现,相比之下,驱动FLASH反而耗费了我学习SPI整个过程的大部分时间.下面是我学习过程的一些记录. 硬件平台:秉火ISO_V2开发板 实现功能:STM32使用SPI协议读写板 ...

  3. STM32F429入门(二十一):SPI协议及SPI读写FLASH

    IIC主要用于通讯速率一般的场合,而SPI一般用于较高速的场合. 一.SPI协议简介 SPI 协议是由摩托罗拉公司提出的通讯协议(Serial Peripheral Interface),即串行外围设 ...

  4. STM32CUBEIDE之SPI读写FLASH进阶串行FLASH文件系统FatFs

    预备知识 >>W25Q128是16M spi flash,一共有256个block ,每个Block 64KB. >>一个Block可以分割为16个扇区(small secto ...

  5. STM32F103标准库开发---SPI实验---读写 W25Q128 外部 Flash

    STM32F103标准库开发----目录 W25Q128读写----程序源码----点击下载 W25Qxx全系列数据手册-点击下载 一.实验前期准备 本次实验的 MCU 是 STM32F103C8T6 ...

  6. 搞清楚nand flash和 nor flash 以及 spi flash 和cfi flash 的区别

    前言:     在嵌入式开发中,如uboot的移植,kernel的移植都需要对Flash 有基本的了解.下面细说一下标题中的中Flash中的关系. Flash Memory(闪存)是非易失性的存储器. ...

  7. STM32F103标准库开发---SPI实验---W25Qxx系列外部Flash芯片

    STM32F103标准库开发----目录 STM32F103标准库开发----SPI实验----基本原理 STM32F103标准库开发----SPI实验----底层驱动程序 W25Qxx全系列---- ...

  8. stm32基于TouchGFX的GUI开发(九):Touchgfx图片资源存储在外部Flash教程(SPI和QSPI方法一)

    前言 使用Touchgfx时当做的应用比较复杂的时候,图片资源比较多比较大就需要将图片资源存储到外部Flash中,否则的话默认没有配置外部下载区域就是默认放在芯片内存,会提示内存不够.通过本文章的学习 ...

  9. SPI NAND Flash和SPI NOR Flash的区别

    我们在购买电子产品时,常常听到FLASH闪存这个词.但对于基础小白来说,可能常常搞不清楚SPI Flash.Nand Flash.Nor Flash等都是指什么,今天宏旺半导体就跟大家通俗易懂地讲解一 ...

  10. Linux spi驱动分析----SPI设备驱动(W25Q32BV)

    转载地址:http://blog.chinaunix.net/uid-25445243-id-4026974.html 一.W25Q32BV芯片简介 W25X是一系列SPI接口Flash芯片的简称,它 ...

最新文章

  1. 从事IT行业需要了解到
  2. 已解决:k8s集群启动后,默认创建哪些namespace?
  3. 一些简单网络命令用法
  4. 学长毕业日记 :本科毕业论文写成博士论文的神操作20170401
  5. 8.Vue 事件处理
  6. Redis实现微博后台业务逻辑系列(六)
  7. Java异常处理-----java异常体系
  8. python getattr_Python 内置方法和属性应用:反射和单例
  9. 下拉列表项过多会导致浏览器卡死
  10. 不学网php,php不学框架可以吗
  11. [网络收集]LINUX磁盘挂载mount和共享
  12. nginx location 配置
  13. arduino和python对接_Python:与Arduino进行交互-后续
  14. Mac没有winnt格式_Mac视频格式转换工具-H265 Converter Pro
  15. Switch 硬件破解经验分享 - 术语篇
  16. eclipse中文教程
  17. Android USB打印机
  18. Win10桌面美化:推荐2款高质量桌面美化工具,值得收藏
  19. Unity 游戏实例开发集合 之 JumpJump (简单跳一跳) 休闲小游戏快速实现
  20. “繁盛计划”,纾困中国餐饮难题背后的美团式解法

热门文章

  1. matlab把数据乘,【excel怎么相乘】如何把EXCLE数据导入到MATLAB中
  2. java html邮件_java发送html模板邮件
  3. 2022哈工程计算机考研经验贴
  4. Win10下ImageAI-gpu训练自己的数据集
  5. sql计算机计费系统,美萍网吧计费管理系统SQL安装教程
  6. 性能碾压Notepad++的文本编辑器UltraEdit,程序员必备
  7. yum安装ruby_安装 Ruby
  8. R语言统计—配对t检验样本量计算
  9. 基于Profinet网络的风力发电机组齿轮箱温度采集系统
  10. 三大知名PHP开源多用户商城系统对比