【描述】

  在使用STM32F429操作W25Q128时,为验证flash工作正常,做简单的读写数据校验,在擦除接口中使用 HAL_SPI_Transmit 方法一直工作异常,使用 HAL_SPI_TransmitReceive 方法后则正常

 1 void SPI_FLASH_SectorErase(uint32_t SectorAddr)
2 {
3 uint8_t txData[4];
4
5 txData[0] = W25X_SectorErase;
6 txData[1] = (SectorAddr & 0xFF0000) >> 16;
7 txData[2] = (SectorAddr & 0xFF00) >> 8;
8 txData[3] = SectorAddr & 0xFF;
9
10 SPI_FLASH_WriteEnable();
11 HAL_GPIO_WritePin(W25Q_SPI_CS_GPIO_Port, W25Q_SPI_CS_Pin, GPIO_PIN_RESET);
12
13 // HAL_SPI_Transmit(&hspi5, txData, sizeof(txData), 1000000);
14 HAL_SPI_TransmitReceive(&hspi5, txData, NULL, sizeof(txData), 1000000);
15
16 HAL_GPIO_WritePin(W25Q_SPI_CS_GPIO_Port, W25Q_SPI_CS_Pin, GPIO_PIN_SET);
17
18 SPI_FLASH_WaitForWriteEnd();
19 }

【分析】

  暂记。。。

-- spi flash 擦除接口调用HAL库不同函数的区别的更多相关文章

  1. STM32 实现内部Flash的读写(HAL库版)

    Flash 中文名字叫闪存,是一种长寿命的非易失性(断电数据不丢失)的存储器.可以对称为块的存储器单元块进行擦写和再编程,在进行写入操作之前必须先执行擦除.一个Nand Flash由多个块(Block ...

  2. 微信小程序如何把接口调用成功的回调函数返回的参数return出去?(promise就可以解决)

    举个栗子//获取应用实例 //const app = getApp() //const util = require('../../utils/util.js') //const sign = uti ...

  3. STM32 HAL 库实现乒乓缓存加空闲中断的串口 DMA 收发机制,轻松跑上 2M 波特率

    前言 直接储存器访问(Direct Memory Access,DMA),允许一些设备独立地访问数据,而不需要经过 CPU 介入处理.因此在访问大量数据时,使用 DMA 可以节约可观的 CPU 处理时 ...

  4. STM32 ADC多通道转换DMA模式与非DMA模式两种方法(HAL库)

    一.非DMA模式(转) 说明:这个是自己刚做的时候百度出来的,不是我自己做出来的,因为感觉有用就保存下来做学习用,原文链接:https://blog.csdn.net/qq_24815615/arti ...

  5. 基于STM32F429和HAL库的CAN收发例程

    1.CAN协议介绍 CAN 是 Controller Area Network 的缩写(以下称为 CAN),是 ISO 国际标准化的串行通信协议.在当前的汽车产业中,出于对安全性.舒适性.方便性.低公 ...

  6. 【STM32H7教程】第16章 STM32H7必备的HAL库API(重要)

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第16章       STM32H7必备的HAL库API(重要 ...

  7. STM32之HAL库、标准外设库、LL库(STM32 Embedded Software)-(转载)

    STM32 Embedded Software  工作以来一直使用ST的STM32系列芯片,ST为开发者提供了非常方便的开发库.到目前为止,有标准外设库(STD库).HAL库.LL库 三种.前两者都是 ...

  8. STM32 之 HAL库(固件库) _

    1 STM32的三种开发方式 通常新手在入门STM32的时候,首先都要先选择一种要用的开发方式,不同的开发方式会导致你编程的架构是完全不一样的.一般大多数都会选用标准库和HAL库,而极少部分人会通过直 ...

  9. STM32 之 HAL库(固件库)

    1 STM32的三种开发方式 通常新手在入门STM32的时候,首先都要先选择一种要用的开发方式,不同的开发方式会导致你编程的架构是完全不一样的.一般大多数都会选用标准库和HAL库,而极少部分人会通过直 ...

  10. STM32中HAL库和标准库的区别

    转载自:https://www.lmonkey.com/t/RwykY8bBX STM32标准库与HAL库比较 ST为开发者提供了非常方便的开发库.到目前为止,有标准外设库(STD库).HAL库.LL ...

随机推荐

  1. 华企盾DSC苹果电脑-认证用户提示“不是认证成功的账户”

    出现该问题说明客户端连不上服务器,一般来说是网络原因,可按照下面方法排查 ​ 1.先检查网络是否通能否正常上网或者换一个网络试试 2.查看服务器是否启动 3.客户测试连接是否成功端口是否填成了5580 ...

  2. 【C++】关于全局变量和局部变量问题

    1 #include <iostream> 2 using namespace std; 3 4 void func(void); 5 6 static int count = 10; 7 ...

  3. Java反射,看完就会用

    什么是反射 在说反射概念之前,我们先说另外2个概念:编译期和运行期. 编译期: 编译期是源代码从文本形式转换为字节码的过程,这发生在Java代码被JVM执行之前. 在编译期,编译器对源代码进行语法检查 ...

  4. 如何在IIS上部署docsify以及404问题

    操作步骤 创建一个文件夹,在文件夹中新建2个文件 index.html:入口文件,整个网站只需要这个html文件,其他文件都是md文件 README.md:主页内容,如果没有这个文件,访问时提示404 ...

  5. AutomaticKeepAliveClientMixin 缓存PageView页面

    一旦页面滑出屏幕它就会被销毁 ,实际项目开发中对页面进行缓存是很常见的一个需求,下面我们就看看如何使用AutomaticKeepAliveClientMixin 缓存页面. 注意:使用时一定要注意是否 ...

  6. 华为云MVP朱有鹏:做IoT开发乐趣无穷,年轻开发者更要厚积薄发

    [摘要] 可以预见的是,AIoT会是未来一段时间主流的技术趋势方向,当前也有不少科技巨头涌入其中,蓄势待发,而5G的到来加速了AIoT产业的扩张速度,所以如华为云MVP朱有鹏所说,年轻的开发者应该要拥 ...

  7. 让数据库无惧灾难,华为云GaussDB同城双集群高可用方案正式发布!

    摘要:在华为全联接2021期间,华为云GaussDB(for openGauss)正式推出重大内核新特性--同城双集群高可用方案,提供金融级高可用服务,支持RPO=0 .RTO<60s的同城双集 ...

  8. 再谈BOM和DOM(2):DOM节点层次/属性/选择器/节点关系/操作详解

    DOM模型将整个文档(XML文档和HTML文档)看成一个树形结构,并用document对象表示该文档. 根据W3C DOM规范,DOM是HTML与XML的应用编程接口(API),DOM将整个页面映射为 ...

  9. 如何在Windows上将iOS应用上传到App Store

      Application Uploader iOS App上架工具是一款非常好用的针对iOS苹果应用程序软件开发的实用编程工具,它的主要作用是帮助用户进行快速的程序应用设计和程序应用调试,节省用户进 ...

  10. 开心档之MySQL 创建数据库

    MySQL 创建数据库 我们可以在登陆 MySQL 服务后,使用 create 命令创建数据库,语法如下: CREATE DATABASE 数据库名; 以下命令简单的演示了创建数据库的过程,数据名为 ...