📄 port_func.h
字号:
/**********************************************/
/*filename: port_func.h */
/**********************************************/
u16 u_tmp;
u16 u_dq7;
u16 u_dq61;
u16 u_dq62;
#define DATAaaaa 0xaaaa
#define DATAd555 0xd555
/*function: flash_ready() *********************/
void flash_ready()
{
u_tmp=*(u16*)(0xfffe);
*(u16*)(0xd555)=0xaa;
u_tmp=*(u16*)(0xfffe);
*(u16*)(0xaaaa)=0x55;
u_tmp=*(u16*)(0xfffe);
*(u16*)(0xd555)=0xf0;
u_tmp=*(u16*)(0xfffe);
}
/***********************************************/
/*function: flash_erase() *********************/
void flash_erase()
{
int i,num1;
num1=0x4000;
u_tmp=0xfffe;
*(u16*)DATAd555=0xaa;
u_tmp=0xfffe;
*(u16*)DATAaaaa=0x55;
u_tmp=0xfffe;
*(u16*)DATAd555=0x80;
u_tmp=0xfffe;
*(u16*)DATAd555=0xaa;
u_tmp=0xfffe;
*(u16*)DATAaaaa=0x55;
u_tmp=0xfffe;
*(u16*)DATAd555=0x10;
u_tmp=0xfffe;
for (i=1;i<=num1;i++)
{
asm ( " NOP " );
}
/* do
{
*(u16*)DATAfffe=0x11;
u_dq7=DATAd555;
}while((u_dq7&0x0080)==0x0000);*/
}
/***********************************************/
/*function: flash_write() *********************/
void flash_write(u16 u_addr, u16 u_val)
{
u_tmp=*(u16*)(0xfffe);
*(u16*)(0xd555)=0xaa;
u_tmp=*(u16*)(0xfffe);
*(u16*)(0xaaaa)=0x55;
u_tmp=*(u16*)(0xfffe);
*(u16*)(0xd555)=0xa0;
u_tmp=*(u16*)(0xfffe);
//port8000=0x257;
*(u16*)(u_addr)=u_val;
u_tmp=*(u16*)(0xfffe);
do
{
*(u16*)(0xfffe)=0x11;
u_dq61=*(u16*)(0x8000);
*(u16*)(0xfffe)=0x11;
//u_dq62=port8000;
u_dq62=*(u16*)(0x8000);
*(u16*)(0xfffe)=0x11;
}while((u_dq61&0x0040)!=(u_dq62&0x0040));
}
void flash_write1(u16 u_addr, u16 u_val)
{
u_tmp=*(u16*)(0xfffe);
*(u16*)(0xd555)=0xaa;
u_tmp=*(u16*)(0xfffe);
*(u16*)(0xaaaa)=0x55;
u_tmp=*(u16*)(0xfffe);
*(u16*)(0xd555)=0xa0;
u_tmp=*(u16*)(0xfffe);
//port8000=0x257;
*(u16*)(u_addr)=*(u16*)(u_val);
u_tmp=*(u16*)(0xfffe);
do
{
*(u16*)(0xfffe)=0x11;
u_dq61=*(u16*)(0x8000);
*(u16*)(0xfffe)=0x11;
//u_dq62=port8000;
u_dq62=*(u16*)(0x8000);
*(u16*)(0xfffe)=0x11;
}while((u_dq61&0x0040)!=(u_dq62&0x0040));
}
/***********************************************/
/*function: flash_read() **********************/
u16 flash_read(u16 u_addr)
{
u16 u_val;
*(u16*)(0xfffe)=0x11;
u_val=*(u16*)(u_addr);
*(u16*)(0xfffe)=0x11;
return(u_val);
}
/*********************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -