📄 pcgpio.h
字号:
/*
File : dram.h
Note :
1. GPIO 模拟。
$Log: pcgpio.h,v $
Revision 1.2 2007/10/10 02:23:27 Zhaojun
添加版本自动注释脚本
*/
#ifndef __ROCK_PC_GPIO_H_
#define __ROCK_PC_GPIO_H_
/***************************************************************************/
#define _HW_MEMMAP_H //DISABLE REAL BOARD MEMAP
typedef INT32U PERIPH_REG;
/***************************************************************************/
// memory mapped address //FOR PCLIB
//INTERRUPT
#undef AHB0_INTC_BASE
#define AHB0_INTC_BASE RPC_INTERRUPT_MAP
#define INTERRUPTCTRL_SIZE 0x124
//TIMER
#define TMRCTRL_BASE RPC_TIMER_MAP
#define TIMER_COUNT 3
#define TMRCTRL_SIZE (TIMER_COUNT*3)
//WATCH DOG
#undef APB0_WDT_BASE
#define APB0_WDT_BASE RPC_WATCHDOG_MAP
#define WDTCTRL_SIZE 0X0004
//SCU
#undef APB0_SCU_BASE
#define APB0_SCU_BASE RPC_SUC_MAP
#define SCUCTRL_SIZE 0X0010
//UDC
#undef AHB0_UDC_BASE
#define AHB0_UDC_BASE RPC_UDC_MAP
#define UDCCTRL_SIZE 0X0020
/***********************************************************************/
#ifdef read_mem
#undef read_mem
#undef write_mem
#undef read_mem32
#undef write_mem32
#endif
#define read_mem(address) (*(INT32U*)(address))
#define write_mem(address, value) (*(INT32U*)(address))=value
#define read_mem32(address) read_mem(address)
#define write_mem32(address, value) write_mem(address, value)
#define bitset_mem(addr,bitnum) (write_mem((addr),(read_mem(addr)|(0x0001 << (bitnum)))))
#define bitclear_mem(addr,bitnum) (write_mem((addr),(read_mem(addr)&(~(0x0001 << (bitnum))))))
#define bitinvert_mem(addr,bitnum) ((read_mem(addr)&(0x0001 << (bitnum))) ? (bitclear_mem(addr,bitnum)) : (bitset_mem(addr,bitnum)))
#ifndef read_XDATA
#define read_XDATA(address) read_mem(address)
#define write_XDATA(address, value) write_mem(address, value)
#endif
/***********************************************************************/
//模拟外部控制器
extern PERIPH_REG RPC_TIMER_MAP[];
extern PERIPH_REG RPC_INTERRUPT_MAP[];
extern PERIPH_REG RPC_WATCHDOG_MAP[];
extern PERIPH_REG RPC_SUC_MAP[];
extern PERIPH_REG RPC_UDC_MAP[];
/***************************************************************************/
#endif // __ROCK_PC_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -