老古开发网首页
导航:老古开发网首页文章索引索引第2110页文章分类单片机第42页→[430内部flash操作程序]
| -文章搜索 - 最新文章 - |

第2670篇:430内部flash操作程序

发布时间:2006年8月1日 点击次数:1204
来源:   作者:
 
//////////////////////////////////////////////
//功能:FLASH操作-BYTE数据写入 //
//参数:char *Data_ptr,char byte //
//返回:无 // 
//日期:2003.11.6 //
//////////////////////////////////////////////
void Flash_wb(char *Data_ptr,char byte)
{
FCTL3=0x0A500; // Lock=0
FCTL1=0x0A540; // WRT=1
*Data_ptr=byte;
}
//////////////////////////////////////////////
//功能:FLASH操作-word数据写入 //
//参数:int *Data_ptr, int word //
//返回:无 // 
//日期:2003.11.6 //
//////////////////////////////////////////////
void Flash_ww(int *Data_ptr,int word)
{
FCTL3=0X0A500; //Lock=0
FCTL1=0X0A540; //WRT=1
*Data_ptr=word; 
}
//////////////////////////////////////////////
//功能:FLASH操作-段擦除 //
//参数:int *Data_ptr //
//返回:无 // 
//日期:2003.11.6 //
//////////////////////////////////////////////
void Flash_clr(int *Data_ptr)
{
FCTL1=0X0A502; // ERASE=1
FCTL3=0X0A500; //Lock=0
*Data_ptr=0;
}
//////////////////////////////////////////////
//功能:FLASH 操作,先保存在擦写 //
//参数:uchar num //
//返回:无 //
//日期:2003.11.14 //
//////////////////////////////////////////////
void Flash_do(uchar num)
{
uint lshi,linshi[11]; //
uchar i=0;
int *addr;
_DINT();
addr=(int *)0x1000;
for(i=0;i<11;i++)
{
linshi[i]=*(addr+i); 

linshi[num]=Flash_save[num]; //更新数据
Flash_clr(addr); //段擦除
for(i=0;i<11;i++)
{
lshi=linshi[i];
Flash_ww(addr+i,lshi);//写入
}
_EINT(); 
}

欢迎进入老古论坛进行讨论
[单片机] 相关文章:
at89c2051串口带校验输入指令最高数率并行输出数据.
简介:
;;;串口带校验;;; ;;at89c2051串口带校验最高数率并行输出数据;; ORG 0000H AJMP MAIN ORG 0003H AJMP EX00 RETI ORG 000BH RETI ORG 0013H AJMP EX11 RETI ORG 001BH RETI ORG 0023H CLR TI JBC RI,ES1 RETI ES1: AJMP ESRD ORG 0030H MAIN: MOV SP,#10H MOV TMOD,#21H ;;MOV TH1,#0EF......

C语言中嵌入汇编语言在本论坛中的集锦
MSP430寄存器中文注释----串口寄存器
[转载]基于USB接口的VSAT基带数据采集系统的设计
[转载]用EZ-USB实现TMS320C6X与主机数据传输
 
下一个:[单片机]用2051的比较器模拟AD
简介:
/* io分配: * ......

上一个:[单片机]按键扫描驱动程序

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:30分钟 执行时间:31毫秒