⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 port_fun.h

📁 《DSP系统入门与实践》
💻 H
字号:
void flash_ready()
{
    //u16 u_temp;
    u_temp=*(u16 *)(0xfffe);
    *(u16 *)(add1)=0xaa;
    u_temp=*(u16 *)(0xfffe);
    
    *(u16 *)(add2)=0x55;
    u_temp=*(u16 *)(0xfffe);
    
    *(u16 *)(add1)=0xf0;
    u_temp=*(u16 *)(0xfffe);
}

void flash_erase()
{
//整片擦除Flash
*(u16*)(add1)=0xaa;
u_temp=*(u16*)(0xfffe);
*(u16*)(add2)=0x55;
u_temp=*(u16*)(0xfffe);
*(u16*)(add1)=0x80;
u_temp=*(u16*)(0xfffe);
*(u16*)(add1)=0xaa;
u_temp=*(u16*)(0xfffe);
*(u16*)(add2)=0x55;
u_temp=*(u16*)(0xfffe);
*(u16*)(add1)=0x10;
u_temp=*(u16*)(0xfffe);

//判断结束信号,判断D7位是否为1;
  do {
    *(u16*)(0xfffe)=0x11;
    u_temp=*(u16*)(add1);
   } while((u_temp& 0x0080)==0x0000);
 //已完全擦除
}

void flash_write(u16 address,u16 data)
   {
      u_temp=*(u16*)(0xfffe);
	  *(u16*)(add1)=0xaa;
	  u_temp=*(u16*)(0xfffe);
	  
	  *(u16*)(add2)=0x55;
	  u_temp=*(u16*)(0xfffe);
	  
	 *(u16*)(add1)=0xa0;
	  u_temp=*(u16*)(0xfffe);
	  
	  *(u16*)(address)=data;//写数据
	  u_temp=*(u16*)(0xfffe);
  
	  do {
		   *(u16*)(0xfffe)=0x11;
		   temp1=*(u16*)(0x8020);
		   *(u16*)(0xfffe)=0x11;
		   temp2=*(u16*)(0x8020);
		   *(u16*)(0xfffe)=0x11;
	  	  }while((temp1 & 0x0040)!=(temp2 & 0x0040));
   }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -