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

📄 pcgpio.h

📁 瑞星微公司RK27XX系列芯片的SDK开发包
💻 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 + -