📄 flash.h
字号:
////////////////////////////////////////////////////////////////////////////////////////////////
//Author:Andy Lau
//
//MC9S08GB60片上Flash驱动
//2006-1-8
//说明:
//本模块支持对地址为0x1080~0x17ff之间的Flash存贮器进行编程/擦除操作
//要求:
//在链接规则中不要指定0x1080~0x17ff之间的空间为默认的ROM
//否则对这段地址区间的Flash操作会破坏程序代码,导致不可恢复的系统崩溃.
//
//定义可用的存储页编号为0~3,对应物理地址如下:
//page0: 0x1000~0x11ff
//page1: 0x1200~0x13ff
//page2: 0x1400~0x15ff
//page3: 0x1600~0x17ff
//FlashErase函数只能接受以上所列的页起始地址作为参数,即0x1000/0x1200/0x1400/0x1600
//page0起始地址虽然为0x1000,但是0x1000~0x107f实际上是RAM,
//不可以进行FLASH操作,Page0的实际起始地址应该是0x1080
//所以对page0中的字节地址0x0000~0x007f的操作不会被接受
//为了页地址格式统一,OnChipFlashErase函数可以接受0x1000作为page0的起始地址,
//但是在代码内部会把实际操作数值修正为0x1080
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#ifndef __MY_FLASH_H__
#define __MY_FLASH_H__
#include <hidef.h> /* for EnableInterrupts macro */
#include <MC9S08GB60.h>
#include "main.h"
#define FB_LEN 40
#define SMS_CENTRE 0x01
#define TELE_NUMBER1 0x02
#define TELE_NUMBER2 0x03
#define TELE_NUMBER3 0x04
#define ALARM_INFO1 0x05
#define ALARM_INFO2 0x06
#define ALARM_INFO3 0x07
#define SLAVE_ID 0x08
//函数定义
void Flash1Byte(UINT16 FAddr_Buff,UINT8 FCont_Buff);
void FlashArray(UINT8 *PFCont,UINT16 Length,UINT16 FAddr_Start);
void EraseFlash(UINT8 i);
void EraseNum(void);
void ReadFlash(UINT8 FlashPosit);
#endif //__MY_FLASH_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -