flash读取程序 msp430_MSP430读写擦除FLASH程序
1-简介
MSP430单片机对片内FLASH的读写操作程序范例。
2-程序例程
//******************************************************************************
// 参数: wAddr 为地址 , 范围 0x1000~0xFFFF
void ReadFlash(U16 wAddr,U8 *bBuf,U8 bLen)
{
while (bLen--)
*bBuf++=*(U8 *)wAddr++;
return;
}
void WriteFlash(U16 wAddr,U8 *bBuf,U8 bLen)
{
U8 reg1,reg2;
reg1=_BIC_SR(GIE);
reg2=IE1;IE1=0; // 保护原来中断标志,并关闭有关中断。
// 写一个字节数据到指定flash地址
while (bLen--)
{
while (FCTL3&BUSY); // 等待以前FLASH操作完成
FCTL3 = FWKEY;
FCTL1 =FWKEY+WRT; // 发送写flash命令
*(U8 *)wAddr++=*bBuf // 写数据到指定的flash地址
while(FCTL3&BUSY); // 等待写操作完成
FCTL1 = FWKEY;
FCTL3 = FWKEY+LOCK; // 对FLASH内容进行加锁保护
}
if(reg1&GIE) _BIS_SR(GIE); // 恢复中断标志
IE1=reg2;
return;
}
void EraseSectorFlash(U16 wAddr)
{
U8 reg1,reg2;
reg1=_BIC_SR(GIE);
reg2=IE1; // 保护有关中断标志
IE1=0; // 关闭IE1中断
while(FCTL3&BUSY); // 等待FLASH编程结束
FCTL3 = FWKEY; // 为了准备编程而初始化FLASH控制寄存器3
FCTL1 = FWKEY+ERASE; // 发送FLASH擦除命令
*(U8 *)wAddr=0; // 启动擦除操作
while(FCTL3&BUSY); // 等待擦除操作完成
FCTL1 = FWKEY; // 撤销任何对FLASH的操作命令
FCTL3 = FWKEY+LOCK; // 对FLASH内容进行加锁保护
if(reg1&GIE) _BIS_SR(GIE); // 恢复中断标志
IE1=reg2;
return;
}
//******************************************************************************
//例程结速
flash读取程序 msp430_MSP430读写擦除FLASH程序相关推荐
- fm24c16c语言程序,单片机读写24C01~24C16程序
单片机读写24C01~24C16程序,24C02 read / write process 关键字:单片机读写24C01~24C16程序 单片机读写24C01~24C16程序 AT89S52 晶振频率 ...
- flash读取程序 msp430_MSP430读写flash程序
//****************************************************************************** //***************** ...
- flash读取程序 msp430_转载 msp430程序库 flash控制器
硬件介绍: 要对Flash读写,首先要了解MSP430的存储器组织.430单片机的存储器组织结构采用冯诺依曼结构,RAM和ROM统一编址在同一寻址空间中,没有代码空间和数据空间之分. 一般430的单片 ...
- STM32F429内部FLASH读写擦除操作流程和寄存器配置要点
一.STM32F429 FLASH总体介绍 双bank架构,容量高达2 Mbytes,支持read-while-write边读边写(RWW) 支持128位宽的数据读取 Byte.half-word.w ...
- 使用STM32 ST-LINK Utility 烧录程序,ST LINK烧录程序,解锁FLASH
关键词:ST LINK烧录程序,STLINK烧录程序,ST-LINK烧录程序,STLINK烧录程序,ST LINK解锁Flash 1.读取STM32内部FLASH及芯片信息 使用ST-Link连接硬件 ...
- keil5写入程序时显示Error.Flash Download failed -‘CortexM4’
keil5写入程序时显示Error.Flash Download failed -'CortexM4' 我所遇到问题的芯片是STM32F429IGT6,可能F1系列或者其他的STM芯片都可能遇到这样的 ...
- 程序是运行在flash中还是RAM中?
前言 最近在做项目中遇到一些疑虑,包括OTA升级时会不会阻塞到其他工作线程.select原理和正确用法.如何快速正确理解产品到软件框架构建.嵌入式应用的代码优化方法.本篇文章主要针对第一个问题,请教外 ...
- linux读取nand的文件,Linux Kernel 之AP读写Nand Flash上的Yaffs2文件的全过程浅析
1.1 用top-down的方法分析AP读一个Nand Flash上的file的全过程 我先简单看一个例子,看User Application如何打开一个Yaffs2 file并读写之: int ma ...
- 用Adobe Flash Professional CS6创建一个iOS应用程序
引用:http://news.9ria.com/2013/0104/25780.html 平板电脑和智能手机的迅速增长意味着将会有比以往任何时候都多的人使用移动设备来浏览在线内容.其结果就是,Web设 ...
最新文章
- cacti系列(一)之cacti的安装及配置监控mysql服务
- Android8.0恢复出厂设置失败-BroadcastQueue: Background execution not allowed
- python与数据库连接的代码_python连接数据库的案例及源代码
- 在 Java OOP 编程中的注意事项
- 常用批处理命令总结之Find和FindStr
- 利用SQL对数据进行清洗处理
- 静态 非静态代码块和构造器的执行顺序测试方法
- sap-erp实施心得_实施动态代理-比较
- struts2 过滤器和拦截器的区别和使用
- Nagios Plugin for Cacti (npc插件) Download 下载
- Android界面性能优化最全总结、原理剖析
- Qt窗口部件——对话框QDialog
- 笔记本重新启动计算机,为什么笔记本电脑突然重新启动_计算机的基本知识_IT /计算机_信息...
- C++ STL 遍历vector
- 我只能说,Spring Data REST真的很燥辣
- win10无线投屏_win10无线投屏智能电视
- 在线教育平台架构设计-数据库设计1期
- 编辑器 的保存怎么绑定事件_小鹿百度编辑器新增小程序URL,抢占百度新流量...
- unity网络实战开发(丛林战争)-正式开发阶段(015-游戏场景及开始界面UI搭建)
- 【转】 CSS透明opacity和IE各版本透明度滤镜filter的最准确用法
热门文章
- u3d android,u3d与安卓交互(Android studio)
- 约瑟夫生死环游戏c语言程序,使用C++实现的约瑟夫生死游戏
- zabbix 3.2 mysql模板_Zabbix-3.0.3使用自带模板监控MySQL
- 高达82 fps的实时文本检测,可微分二值化模块
- adb查看app的日志
- pytorch多进程加载数据
- DCNv2 windows编译 2021ok
- socket传输结构体,c++,发送OK,recv返回字节大小正确但接受数据为空
- NVIDIA团队:利用神经网络生成极慢视频
- opencv转pytorch