📄 port_fun.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 + -