打印
[STM8]

请问一下flash存取数据疑问

[复制链接]
1531|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tang221986|  楼主 | 2013-8-3 18:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.stm8s的flash存数据时的操作过程是怎样的,需要注意哪些?
2.存数据的时间,经验应该需要几个ms,但是看网上的写数据程序,是查询EOP标志即写完成标志,那么是不是等待 eop标志需要几个ms的时间,这个时间段里应用程序就一直在等待完成标志吗,不能做其他事
谢谢!
沙发
tang221986|  楼主 | 2013-8-5 10:40 | 只看该作者
#define         EEPMASS1     0xAE                   //密码钥匙1
#define         EEPMASS2     0x56                   //密码钥匙2
#define         EEPADDR      0x4000                  //eep地址起始

void eeprom_read(U16 u16Addr, U8 *pdatas, U8 len)
{
  U8 *eep=(U8 *)u16Addr;
  U8 j;

  for(j=0; j<len; j++)
  {
    pdatas[j]=eep[j];         
  }
}

void eep_word_write(U16 u16Addr, U8 *pdatas, U8 len)
{
  U8 *eep=(U8*)u16Addr;
  U8 j;

  FLASH_DUKR=EEPMASS1;                //锁1密钥  
  FLASH_DUKR=EEPMASS2;                //锁2密钥
  while(!(FLASH_IAPSR&0x08));         //等待解密就绪

  DISABLE_MAC_INTERRUPTS();
  FLASH_CR2 |= 0x40;     //               
  FLASH_NCR2 &= ~0x40;   //设置字编程
  for(j=0; j<len; j++)
  {
    eep[j] = pdatas[j];
  }

  while(!(FLASH_IAPSR&0x04));
  FLASH_IAPSR &=0xf7;    // off the eeprom program
  ENABLE_MAC_INTERRUPTS();      
}

使用特权

评论回复
板凳
tang221986|  楼主 | 2013-8-5 10:41 | 只看该作者
程序中的while(!(FLASH_IAPSR&0x04));这句执行时间是不是要等很长时间

使用特权

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

本版积分规则

16

主题

122

帖子

0

粉丝