📄 my93c46.h
字号:
/**************************************************************/
#ifndef _MY93C46_H
#define _MY93C46_H
/**************************************************************/
#include "hostmcu.h"
#include "ylystd.h"
#define CS_1 {myoutportb(0x01,myinportb(0x01)|0x08)};
#define CS_0 {myoutportb(0x01,myinportb(0x01)&0xf7)};
#define SK_1 {myoutportb(0x01,myinportb(0x01)|0x04)};
#define SK_0 {myoutportb(0x01,myinportb(0x01)&0xfb)};
#define SET_DI(x) {myoutportb(0x01,(myinportb(0x01)&0xfd)|((x&0x01)<<1))};
#define GET_DO(x) (myinportb(0x01)&0x01)
#define DI_0 SET_DI(0)
#define DI_1 SET_DI(1)
#define _mynop_() {_nop_();};
/**************************************************************/
//default: word access if not define BYTE_ACCESS
//#define BYTE_ACCESS
//to 93C46:
#ifdef BYTE_ACCESS
#define DATA_SUM 0x80
#define DATA_LEN 8
#define ADDR_LEN 7
#define CMD_LEN 10
#define ADDR_MSK 0x7f
#else
#define DATA_SUM 0x40
#define DATA_LEN 16
#define ADDR_LEN 6
#define CMD_LEN 9
#define ADDR_MSK 0x3f
#endif
/**************************************************************/
uchar mw_erase(uchar address);
uchar mw_eral(void);
uchar mw_ewds(void);
uchar mw_ewen(void);
uint mw_read(uchar address);
uchar mw_write(uchar address,uint dat);
uchar mw_wral(uint dat);
uchar mw_test(void);
uchar mw_init(void);
/**************************************************************/
enum {
MW_ERASE = 0xe000,
MW_ERAL = 0x9000,
MW_EWDS = 0x8000,
MW_EWEN = 0x9800,
MW_READ = 0xc000,
MW_WRITE = 0xa000,
MW_WRAL = 0x8800
};
#define DUMMY_WORD 0xffff
/**************************************************************/
#endif /* _MY93C46_H */
/**************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -