📄 bus_io.h
字号:
/*
MStar Debug Code
------------------
Copyright 2003 MStar Semiconductors Limited,
All rights are reserved. Reproduction in whole or in part is prohibited
without the prior written consent of the copyright owner.
COMPANY CONFIDENTIAL
Filename : bus_io.h
Rev Date Author Comments
-------------------------------------------------------------------------------
001 2003-03-31 Sanger Huang Initial Version
@begin
@module
bus_io.h
Header file for the BUS IO module.
@end
*/
#ifndef BUS_IO_H
#define BUS_IO_H
/********************
* INCLUDE FILES *
*********************/
/********************
* LOCAL MACROS *
*********************/
// Define Scaler Reset Pin
#define HW_RESET P17
// Define Scaler Nibble Direct bus I/O Pin
#define NDBUS_ALE P32
#define NDBUS_RD P37
#define NDBUS_WR P36
#define NDBUS_DATA P0
/**********************
* FUNCTION PROTOTYPES *
***********************/
void Bus_Initial(void);
//#ifdef DIRECT_BUS
#ifdef MFC_SIM
void SetReg(BYTE bus_addr, BYTE bus_data);
BYTE GetReg(BYTE bus_addr);
#else
//extern xdata BYTE volatile regio[];
#define SetReg(bus_addr, bus_data) XBYTE[bus_addr] = bus_data
#define GetReg(bus_addr) XBYTE[bus_addr]
#endif
//#else
// void SetReg(BYTE bus_addr, BYTE bus_data);
// BYTE GetReg(BYTE bus_addr);
//#endif
//void SeqSetReg(BYTE bus_addr, BYTE addr_inc, WORD data_size, BYTE code *data_array);
#if 1
#define SetReg2(offset, value) \
XBYTE[offset] = (BYTE)((WORD)(value)); \
XBYTE[offset+1] = (BYTE)((WORD)(value)>>8);
#define SetReg2_LowAct(offset, value) \
XBYTE[offset+1] = (BYTE)((WORD)(value)>>8); \
XBYTE[offset] = (BYTE)((WORD)(value));
#define GetReg2(offset) ((WORD)XBYTE[offset] + (((WORD)XBYTE[offset+1])<<8))
#define SetReg3(offset, value) \
XBYTE[offset] = (BYTE)((DWORD)(value)); \
XBYTE[offset+1] = (BYTE)((DWORD)(value)>>8); \
XBYTE[offset+2] = (BYTE)((DWORD)(value)>>16);
#define GetReg3(offset) \
(((DWORD)XBYTE[offset]) + \
(((DWORD)XBYTE[offset+1])<<8) + \
(((DWORD)XBYTE[offset+2])<<16))
#else
void SetReg2(BYTE offset, WORD value);
void SetReg2_LowAct(BYTE offset, WORD value);
WORD GetReg2(BYTE offset);
void SetReg3(BYTE offset, DWORD value);
DWORD GetReg3(BYTE offset);
#endif
BYTE DMAGetByte(BYTE address);
#endif // bus_io.h
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -