norflash.h
/******************************************************************************************************* file norflash.h* author 正点原子团队(ALIENTEK)* version V1.0* date 2020-04-24* brief NOR FLASH(25QXX) 驱动代码* license Copyright (c) 2020-2032, 广州市星翼电子科技有限公司***************************************************************************************************** attention** 实验平台:正点原子 STM32F103开发板* 在线视频:www.yuanzige.com* 技术论坛:www.openedv.com* 公司网址:www.alientek.com* 购买地址:openedv.taobao.com** 修改说明* V1.0 20200424* 第一次发布******************************************************************************************************/#ifndef __norflash_H#define __norflash_H#include ../../SYSTEM/sys/sys.h/******************************************************************************************//* NORFLASH 片选信号 */#define NORFLASH_CS(x) do{ x ? \HAL_GPIO_WritePin(NORFLASH_CS_GPIO_Port, NORFLASH_CS_Pin, GPIO_PIN_SET) : \HAL_GPIO_WritePin(NORFLASH_CS_GPIO_Port, NORFLASH_CS_Pin, GPIO_PIN_RESET); \}while(0)/* FLASH芯片列表 */#define W25Q80 0XEF13 /* W25Q80 芯片ID */#define W25Q16 0XEF14 /* W25Q16 芯片ID */#define W25Q32 0XEF15 /* W25Q32 芯片ID */#define W25Q64 0XEF16 /* W25Q64 芯片ID */#define W25Q128 0XEF17 /* W25Q128 芯片ID */#define W25Q256 0XEF18 /* W25Q256 芯片ID */#define BY25Q64 0X6816 /* BY25Q64 芯片ID */#define BY25Q128 0X6817 /* BY25Q128 芯片ID */#define NM25Q64 0X5216 /* NM25Q64 芯片ID */#define NM25Q128 0X5217 /* NM25Q128 芯片ID */extern uint16_t norflash_TYPE; /* 定义FLASH芯片型号 *//* 指令表 */#define FLASH_WriteEnable 0x06#define FLASH_WriteDisable 0x04#define FLASH_ReadStatusReg1 0x05#define FLASH_ReadStatusReg2 0x35#define FLASH_ReadStatusReg3 0x15#define FLASH_WriteStatusReg1 0x01#define FLASH_WriteStatusReg2 0x31#define FLASH_WriteStatusReg3 0x11#define FLASH_ReadData 0x03#define FLASH_FastReadData 0x0B#define FLASH_FastReadDual 0x3B#define FLASH_FastReadQuad 0xEB#define FLASH_PageProgram 0x02#define FLASH_PageProgramQuad 0x32#define FLASH_BlockErase 0xD8#define FLASH_SectorErase 0x20#define FLASH_ChipErase 0xC7#define FLASH_PowerDown 0xB9#define FLASH_ReleasePowerDown 0xAB#define FLASH_DeviceID 0xAB#define FLASH_ManufactDeviceID 0x90#define FLASH_JedecDeviceID 0x9F#define FLASH_Enable4ByteAddr 0xB7#define FLASH_Exit4ByteAddr 0xE9#define FLASH_SetReadParam 0xC0#define FLASH_EnterQPIMode 0x38#define FLASH_ExitQPIMode 0xFF/* 普通函数 */void norflash_init(void); /* 初始化25QXX */uint16_t norflash_read_id(void); /* 读取FLASH ID */void norflash_write_enable(void); /* 写使能 */uint8_t norflash_read_sr(uint8_t regno); /* 读取状态寄存器 */void norflash_write_sr(uint8_t regno,uint8_t sr); /* 写状态寄存器 */void norflash_erase_chip(void); /* 整片擦除 */void norflash_erase_sector(uint32_t saddr); /* 扇区擦除 */void norflash_read(uint8_t *pbuf, uint32_t addr, uint16_t datalen); /* 读取flash */void norflash_write(uint8_t *pbuf, uint32_t addr, uint16_t datalen); /* 写入flash */#endif

相关新闻

从PPG原理到实践:手把手教你设计高精度电子脉搏计

从PPG原理到实践:手把手教你设计高精度电子脉搏计

1. 从零到一:一个电子脉搏计项目的诞生几年前,我接手了一个健康监测设备的小项目,核心需求是设计一个能稳定、准确测量人体脉搏的便携式设备。当时市面上虽然有各种智能手环,但要么精度存疑,要么数据封闭,无…

2026/11/10 10:40:47 阅读更多 →
改考!速看!408改信号!

改考!速看!408改信号!

西南大学官方于今年6月29日发布了关于2027年硕士研究生招生专业及考试科目参阅范围的公告,涉及到信号与系统的一个专业。详情如下: 图1:西南大学改考通告 https://ceie.swu.edu.cn/info/1058/6119.htm图2:西南大学27初试科目参阅范…

2026/11/9 7:31:00 阅读更多 →
格雷码原理、Verilog实现与工程应用:从二进制转换到4位计数器设计

格雷码原理、Verilog实现与工程应用:从二进制转换到4位计数器设计

1. 项目概述:从“乱序”中寻找秩序在数字电路和通信系统的世界里,我们最熟悉的莫过于二进制。0和1的排列组合,构成了所有数字信息的基石。然而,当你需要设计一个高速旋转的编码器,或者一个需要多个状态同时变化却要避免…

2026/11/4 19:40:27 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/10 23:32:01 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/10 23:32:03 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/11 2:31:33 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/11 17:16:37 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/11 17:16:37 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/10 23:32:10 阅读更多 →

日新闻

周新闻

月新闻