linux spi flash id,SPI读flash的ID问题
下面是战舰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问题相关推荐
- SPI应用——W25Q128串行FLASH
一.FLASH存储器介绍 FLASH存储器又称闪存,它与EEPROM都是掉电后数据不丢失的存储器,但FLASH存储器容量普遍大于EEPROM,现在基本取代了它的地位.在存储控制上,最主要的区别是FLA ...
- 基于STM32与NOR FLASH的SPI通信
SPI的通信很容易实现,相比之下,驱动FLASH反而耗费了我学习SPI整个过程的大部分时间.下面是我学习过程的一些记录. 硬件平台:秉火ISO_V2开发板 实现功能:STM32使用SPI协议读写板 ...
- STM32F429入门(二十一):SPI协议及SPI读写FLASH
IIC主要用于通讯速率一般的场合,而SPI一般用于较高速的场合. 一.SPI协议简介 SPI 协议是由摩托罗拉公司提出的通讯协议(Serial Peripheral Interface),即串行外围设 ...
- STM32CUBEIDE之SPI读写FLASH进阶串行FLASH文件系统FatFs
预备知识 >>W25Q128是16M spi flash,一共有256个block ,每个Block 64KB. >>一个Block可以分割为16个扇区(small secto ...
- STM32F103标准库开发---SPI实验---读写 W25Q128 外部 Flash
STM32F103标准库开发----目录 W25Q128读写----程序源码----点击下载 W25Qxx全系列数据手册-点击下载 一.实验前期准备 本次实验的 MCU 是 STM32F103C8T6 ...
- 搞清楚nand flash和 nor flash 以及 spi flash 和cfi flash 的区别
前言: 在嵌入式开发中,如uboot的移植,kernel的移植都需要对Flash 有基本的了解.下面细说一下标题中的中Flash中的关系. Flash Memory(闪存)是非易失性的存储器. ...
- STM32F103标准库开发---SPI实验---W25Qxx系列外部Flash芯片
STM32F103标准库开发----目录 STM32F103标准库开发----SPI实验----基本原理 STM32F103标准库开发----SPI实验----底层驱动程序 W25Qxx全系列---- ...
- stm32基于TouchGFX的GUI开发(九):Touchgfx图片资源存储在外部Flash教程(SPI和QSPI方法一)
前言 使用Touchgfx时当做的应用比较复杂的时候,图片资源比较多比较大就需要将图片资源存储到外部Flash中,否则的话默认没有配置外部下载区域就是默认放在芯片内存,会提示内存不够.通过本文章的学习 ...
- SPI NAND Flash和SPI NOR Flash的区别
我们在购买电子产品时,常常听到FLASH闪存这个词.但对于基础小白来说,可能常常搞不清楚SPI Flash.Nand Flash.Nor Flash等都是指什么,今天宏旺半导体就跟大家通俗易懂地讲解一 ...
- Linux spi驱动分析----SPI设备驱动(W25Q32BV)
转载地址:http://blog.chinaunix.net/uid-25445243-id-4026974.html 一.W25Q32BV芯片简介 W25X是一系列SPI接口Flash芯片的简称,它 ...
最新文章
- 从事IT行业需要了解到
- 已解决:k8s集群启动后,默认创建哪些namespace?
- 一些简单网络命令用法
- 学长毕业日记 :本科毕业论文写成博士论文的神操作20170401
- 8.Vue 事件处理
- Redis实现微博后台业务逻辑系列(六)
- Java异常处理-----java异常体系
- python getattr_Python 内置方法和属性应用:反射和单例
- 下拉列表项过多会导致浏览器卡死
- 不学网php,php不学框架可以吗
- [网络收集]LINUX磁盘挂载mount和共享
- nginx location 配置
- arduino和python对接_Python:与Arduino进行交互-后续
- Mac没有winnt格式_Mac视频格式转换工具-H265 Converter Pro
- Switch 硬件破解经验分享 - 术语篇
- eclipse中文教程
- Android USB打印机
- Win10桌面美化:推荐2款高质量桌面美化工具,值得收藏
- Unity 游戏实例开发集合 之 JumpJump (简单跳一跳) 休闲小游戏快速实现
- “繁盛计划”,纾困中国餐饮难题背后的美团式解法