📄 flash.c
字号:
#include "include.h"
void flash_clr(uchar xdata *pwr)
{
FLSCL=0x89;
PSCTL=0x03; //擦除允许 写允许
*pwr=0x00;
PSCTL=0X00;
}
//----------------------------------------------
//向flash的128字节扇区写数据 扇区地址0x8000-0x807f
//dat 要存储的数据数组名 x:存储在128字节扇区的第X字节
//----------------------------------------------
void flash_wr(struct goods *dat,uchar list_num)
{
uchar i=0;
struct goods xdata *pwr=0x8000;//写指针
uchar xdata *pwr2;
// FLSCL=0x89;
// PSCTL=0x03; //擦除允许 写允许
// *pwr=0x00;
for(i=0;i<10;i++)
{
PSCTL=0x01; //写允许
*pwr=*(dat+i);
PSCTL=0x00; //写禁止
pwr++;
}
pwr2=(uchar xdata *)pwr;
PSCTL=0x01; //写允许
*pwr2=list_num;
PSCTL=0x00; //写禁止
}
//----------------------------------------------
//读取flash的128字节扇区内容
//----------------------------------------------
void flash_re(struct goods *dat)
{
uchar i;
struct goods code *pre=0x8000; //读指针
for(i=0;i<10;i++)
{
*(dat+i)=*pre;
pre++;
}
}
/*-------------------------------------------
读取当前清单ID
---------------------------------------------*/
uchar flash_read_list_num()
{
uchar list_num;
uchar code *pre=0x8032;
list_num=*pre;
return list_num;
}
//---------------------------------------------
//向flash中写入list结构体变量
//
//---------------------------------------------
void flash_save(struct list xdata *add,struct list list1)
{
PSCTL=0x01; //写允许
*add=list1;
PSCTL=0x00; //写禁止
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -