⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flash.h.bak

📁 一个基于pic单片机的外部flash <SST_SST25VF016B>的驱动代码
💻 BAK
字号:
#include <P24FJ128GA006.H>
#include <stdio.h>
#include <string.h>

#define  MAX_Records   100

#define  CE_set        TRISGbits.TRISG2 =0
#define  DEVICE_EN     LATGbits.LATG2	=0    	
#define  DEVICE_DIS    LATGbits.LATG2	=1   	 

#define  SCK_set       TRISGbits.TRISG6=0
#define  SCK_L         LATGbits.LATG6	=0    	
#define  SCK_H         LATGbits.LATG6	=1  

#define  DO_set        TRISGbits.TRISG8=0
#define  DO_L          LATGbits.LATG8	=0    	
#define  DO_H          LATGbits.LATG8	=1  

#define  DI_set        TRISGbits.TRISG7=1    	

#define  PR_set        TRISGbits.TRISG3=0   
#define  HOLD_set      TRISGbits.TRISG9=0  

#define  WP_H          LATGbits.LATG3	=1 
#define  WP_L          LATGbits.LATG3	=0 
#define  HOLD_H        LATGbits.LATG9	=1 
#define  HOLD_L        LATGbits.LATG9	=0 

#define  READ             0x03
#define  SPEED_READ       0x0B
#define  SECTOR_ERASE     0x20
#define  BLOCK_ERASE      0x52
#define  CHIP_ERASE       0x60
#define  BYTE_PROGRAM     0x02
#define  AAI_PROGRAM      0xAD
#define  RDSR             0x05
#define  EWSR             0x50
#define  WRSR             0x01
#define  WREN             0x06
#define  WRDI             0x04
#define  READ_ID          0x90

typedef struct struct_msgData
{
    unsigned char          DataFlag; 
    unsigned char          userID;
    unsigned char          nc;
    unsigned char          nc1;
    unsigned char          date_year;
    unsigned char          date_mon;
    unsigned char          date_day;
    unsigned char          time_hour;
    unsigned char          time_min; 
   
    unsigned char          Anly;
    unsigned char          Lock;   
    unsigned char          None;
    unsigned int           Hp;   
    unsigned char          kind; 
}MSGData;

extern              volatile unsigned char     useIndex[MAX_Records]; 
extern              unsigned char     Index_count[2];     
extern              unsigned char     DataChange;
extern		  		volatile MSGData           gDataMsg;
extern              unsigned char     SPI_in_buf;
extern              unsigned char     Record_index_old ;
extern              volatile unsigned char     Record_Info_Buf[16];
extern              unsigned char     Index_Info_Buf[MAX_Records+1];
extern              volatile unsigned char     Record_count;
extern              volatile unsigned char     Record_index;
extern              unsigned char     Setup_Info_Buf[32];
extern              unsigned long     addr_point;


void init_spi2();
unsigned char  Send_Byte(unsigned char chr_out);
unsigned char Read_Status_Register(void);

unsigned char		SPI_READ_BYTE(unsigned long lAddr);
void Sector_Erase(unsigned long in);
unsigned char Read_ECG_Point(unsigned long Index,unsigned long point);
void Read_Record_Info_To_Buffer(unsigned long Index);
void Read_Index_Info_To_Buffer(unsigned long Index);
void Read_Setup_Info_To_Buffer(unsigned long Index);
void Write_ECG_Point(unsigned long Index,unsigned long point,unsigned  char  Data1,unsigned  char  Data2);
void Write_Record_Buf(unsigned long Index);
void Write_Index_Buf(unsigned long Index);
void Write_Setup_Buf(unsigned long Index);
void TranECG_Sector_to_Sector(unsigned long tmpIndex,unsigned long Index);
void Update_Index_Page(void);
void read_ini_file();
void write_ini_file();
void Get_Count_Index_Oldindex_order(void);
void ModifyData(unsigned char Index);
void GetOneData(unsigned char Index);
void DeleteOneIndex(unsigned char Index);
void DeleteAllIndex(void);
void AddOneIndex(unsigned char flag_sure);
void setupinit(void);
void savedat(unsigned char data);


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -