norflash.h

发布时间:2026/7/31 3:51:32

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原理到实践:手把手教你设计高精度电子脉搏计

2026/7/31 3:51:32

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

改考!速看!408改信号!

改考!速看!408改信号!

2026/7/31 3:51:32

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

如何通过Rectangle实现macOS窗口管理革命:新手完整指南

如何通过Rectangle实现macOS窗口管理革命:新手完整指南

2026/7/31 3:51:32

如何通过Rectangle实现macOS窗口管理革命:新手完整指南 【免费下载链接】Rectangle Move and resize windows on macOS with keyboard shortcuts and snap areas 项目地址: https://gitcode.com/gh_mirrors/re/Rectangle 你是否曾经在Mac上同时打开多个窗口&…

Flutter项目创建与Cursor配置全攻略

Flutter项目创建与Cursor配置全攻略

2026/7/31 5:51:38

1. 项目概述作为一名从菜鸟起步的前端开发者,当我第一次尝试用Cursor进行全栈开发时,Flutter项目的创建过程给我上了深刻的一课。不同于传统IDE,Cursor作为AI驱动的开发工具,在Flutter项目初始化阶段就有许多独特的注意事项。这篇…

大模型编程入门:从API调用到本地部署实战指南

大模型编程入门:从API调用到本地部署实战指南

2026/7/31 5:51:38

1. 为什么每个程序员都该学大模型编程?三年前我刚接触大模型时,花了整整两周才跑通第一个文本生成demo。现在借助成熟的工具链,新手用Colab笔记本15分钟就能实现相似效果——这就是技术迭代的速度。大模型编程正在从研究实验室走向工程实践&a…

UE5 Fluid Flux插件实战:从原理到应用构建高性能动态水体

UE5 Fluid Flux插件实战:从原理到应用构建高性能动态水体

2026/7/31 5:51:38

1. 项目概述:为什么是Fluid Flux?在虚幻引擎5(UE5)的世界里,创造令人信服的水体效果一直是环境美术和程序化内容创作的“圣杯”。从早期的简单平面反射,到基于物理的材质,再到如今追求实时交互的…

大模型AI知识库构建与优化实战指南

大模型AI知识库构建与优化实战指南

2026/7/31 5:51:37

1. 大模型AI知识库全景解析最近半年,大模型AI知识库突然成为技术圈的热门话题。作为一名从2016年就开始接触NLP的老兵,我亲眼见证了从规则引擎到BERT,再到今天的大模型知识库的技术演进。与早期知识图谱需要人工构建不同,现代AI知…

日系与欧美妆前乳对比:从设计理念到实战选择指南

日系与欧美妆前乳对比:从设计理念到实战选择指南

2026/7/31 5:51:37

那天下午,我在化妆台前对着镜子发呆。左边是跟风买的欧美网红妆前乳,右边是朋友从日本带回来的“cosme大赏”冠军产品。同样的皮肤状态,同样的粉底液,但两边的妆效却像开了滤镜和没开滤镜的区别——一边是浮粉卡纹的社死现场&…

Unity答题系统架构设计:从动态面板到可复用交互框架

Unity答题系统架构设计:从动态面板到可复用交互框架

2026/7/31 5:41:37

1. 项目概述:从“能用”到“好用”的答题系统进化论 做Unity项目,尤其是涉及大量UI交互的,比如答题系统,很多开发者都经历过一个相似的痛苦循环:需求来了,赶紧堆UI,拖拖拽拽,脚本绑死…

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

2026/7/30 9:53:22

目标:电脑作为RTSP 服务端,循环推送 H264/H265 视频流; RDK X5 通过 rtsp2display 拉流预览,完全不需要在开发板编译 live555。 提供两套成熟方案: ✅ 方案 A:FFmpeg(最简单,优先推…

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

2026/7/30 1:17:46

一、背景与测试方案 在实际项目交付中,PDF文件合并与版权保护水印的叠加是一个高频但容易被低估的技术需求。典型的处理链路涉及:多源PDF的文件流合并、页面级水印渲染(含透明度混合与图层叠加)、输出文件体积控制。看似简单的操作…

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

2026/7/30 2:52:37

说实话,提到PDF拆分再压缩,我真是被折腾得够呛。 上个月公司年度合同归档,一份300多页的PDF总合同,需要按年份拆分成三个独立文件,再分别压缩到10MB以内方便邮件发送各部门确认。我心想这还不简单?先找个海…

2026优质EMBA择校榜单:校友圈质量高的EMBA适配民企创始人

2026优质EMBA择校榜单:校友圈质量高的EMBA适配民企创始人

2026/7/31 0:01:23

【客观独立测评】深耕商科教育测评多年,聚焦民企创始人、科创企业实控人择校痛点,避开镀金空壳、课程脱节、圈层杂乱的踩坑问题,结合真实办学数据与学员口碑,整理出适配实业高管的高性价比EMBA榜单,理性分析各项目适配…

绝区零一条龙:5分钟快速上手的终极自动化助手

绝区零一条龙:5分钟快速上手的终极自动化助手

2026/7/31 0:01:23

绝区零一条龙:5分钟快速上手的终极自动化助手 【免费下载链接】ZenlessZoneZero-OneDragon 绝区零 一条龙 | 全自动 | 自动闪避 | 自动每日 | 自动空洞 | 支持手柄 项目地址: https://gitcode.com/gh_mirrors/ze/ZenlessZoneZero-OneDragon 绝区零一条龙是一…

2026民企老板EMBA择校榜单:人脉圈广的EMBA高性价比测评

2026民企老板EMBA择校榜单:人脉圈广的EMBA高性价比测评

2026/7/31 0:01:23

【客观中立测评声明】本文基于学费成本、课程落地、圈层纯度、长期赋能四大维度实测打分,无商业洗脑吹捧,仅为民企创始人、科创高管提供真实择校参考,规避镀金踩坑陷阱。不少民营企业家读EMBA容易踩两大坑:盲目追名校排名&#xf…