飞思卡尔mc9s12xf512的用eeprom读写数据的完整程序代码该怎么写呢?(只要这款芯片的)

如题所述

第1个回答  2019-07-04
void EEPROM_erasure(UINT16 number) //清除操作函数

  UINT16 *erase;               
  //erase = (unsigned char*)(0x400+number);
  
  erase = (UINT16*)(number);
  *erase = 0xff; 
  DisableInterrupts;
  while(!(ECLKDIV & 0x80))    
  {}
  while(!(ESTAT & 0x80))      
  {}
  while(!(EPROT & 0x80))      
  {}
  ECMD = 0x40;
  ESTAT |= 0x80;
  while(!(ESTAT & 0x40)) 
  {}
  EnableInterrupts;;
}
void EEPROM_write(UINT16  code,UINT16 number) //写操作

 
               
  UINT16 *eeaddr;           //对EEPROM进行写操作时的地址
 
 /*
  allow_calibration = 0;
  calibration = 1;
  */
  DisableInterrupts;
  eeaddr = (UINT16*)(number);
  while(!(ECLKDIV & 0x80))         //判断ECLKDIV是否被写入,是向下进行,否原地等待?
  {}
  while(!(ESTAT & 0x80))           //判断缓冲区是否准备好,准备好则向下进行,没有准备好则原地等待?
  {}
  while(!(EPROT & 0x80))           //判断EEPROM是否允许被写入,允许向下进行,不允许则原地等待?
  {}
   *eeaddr= code;
   
  ECMD = 0x20;
  ESTAT |= 0x80;
while(!(ESTAT & 0x40))          //判断EEPROM是否被写入,是向下进行,否原地等待;
  {}
  EnableInterrupts;
  return;   
}
*/ 
 UINT16 EEPROM_read(UINT16 add)  //读操作 
{


  
  UINT16 *erase;
  UINT16 m;
  
  calibration = 0;
  
  DisableInterrupts;
  erase = (UINT16*)(add);
  
  m = *erase; 
  EnableInterrupts;
  return m;
         

  
}

第2个回答  2019-06-11
飞思卡尔9s12flasheeprom读写_计算机硬件及网络_IT/计算机_专业资料。详细介绍 BDM 读取各种芯片 eeprom+...本回答被网友采纳