写XS128的D-Flash的三个程序案例
源代码在线查看: flash.h
//[Flash.h]Flash擦写头文件------------------------------------------------//
#ifndef _FLASH_H
#define _FLASH_H
#include /* common defines and macros */
#include "mc9s12dg128.h"
#include "Init_Func.h"
#define DataPage 0x38 /*数据起始页*/
typedef struct Cur
{
uchar curve_ID;
uchar curve_Type;
uchar curve_page;
uint fst_addr;
uint lst_addr;
uint next_addr;
uint length;
} Curve_struct;
//Flash擦写相关函数声明
//0 将高压期间执行的程序调入RAM中执行
void PrgToRAM(void);
//1 擦除一个扇区
void Flash_Erase_Sector(uchar page,uint addr);
//2 擦除多个扇区
void Flash_Erase_Nsector(uchar page,uint address_destination,uint len);
//3 写入FLASH 一个字
void Flash_Write_Word(uchar page,uint addr,uint data0);
//4 从Flash中读取一个字
uint Flash_Read_Word(uchar page,uint addr);
//5 写入FLASH N个字
void Flash_Write_Nword(uchar page,uint address_destination,
uint address_source,uint len);
//6 读指定Flash地址中的内容
void Flash_Read_Sector(uchar page,uint addr,uint ch[],uint len);
//7 根据data值查找坐标中对应的y值
uint Flash_Get_Word(uchar page,uint fst_addr,uint length,uint data0);
//8 接收到写入帧命令调用此函数擦除相应的扇区
void Flash_Erase_Ready(uchar page,uchar ID,uint length,Curve_struct Curv[],uchar type);
#endif