打印

MSP430单片机对片内FLASH的读写操作程序范例

[复制链接]
1432|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dirtwillfly|  楼主 | 2015-12-11 21:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
MSP430单片机对片内FLASH的读写操作程序范例
// 参数: 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;
}


相关帖子

沙发
firstblood| | 2015-12-11 22:32 | 只看该作者
这个操作还是比较麻烦的吧

使用特权

评论回复
板凳
comeon201208| | 2015-12-11 22:51 | 只看该作者
这个在进行写之前时候需要先进行解锁操作的。

使用特权

评论回复
地板
angerbird| | 2015-12-12 20:27 | 只看该作者
这个程序看着不是很复杂的。

使用特权

评论回复
5
dirtwillfly|  楼主 | 2015-12-12 20:50 | 只看该作者
angerbird 发表于 2015-12-12 20:27
这个程序看着不是很复杂的。

是的

使用特权

评论回复
6
dirtwillfly|  楼主 | 2015-12-12 20:50 | 只看该作者
comeon201208 发表于 2015-12-11 22:51
这个在进行写之前时候需要先进行解锁操作的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:欢迎进入TI MCU论坛      21ic TI技术交流1群:61549143(已满),  21ic TI技术交流2群:311421422 我的博客:http://blog.timcu.com/

1182

主题

34930

帖子

1117

粉丝