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

📄 lpc2400.h

📁 广州致远电子的SmartArm2400出厂时的演示代码。
💻 H
📖 第 1 页 / 共 5 页
字号:
/*********************************************************************************************************
  Fast I/O setup
*********************************************************************************************************/

#define     FIO_BASE_ADDR		    0x3FFFC000

#define     FIO0DIR                 (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x00)) 
#define     FIO0MASK                (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x10))
#define     FIO0PIN                 (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x14))
#define     FIO0SET                 (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x18))
#define     FIO0CLR                 (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x1C))

#define     FIO1DIR                 (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x20)) 
#define     FIO1MASK                (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x30))
#define     FIO1PIN                 (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x34))
#define     FIO1SET                 (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x38))
#define     FIO1CLR                 (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x3C))

#define     FIO2DIR                 (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x40)) 
#define     FIO2MASK                (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x50))
#define     FIO2PIN                 (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x54))
#define     FIO2SET                 (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x58))
#define     FIO2CLR                 (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x5C))

#define     FIO3DIR                 (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x60)) 
#define     FIO3MASK                (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x70))
#define     FIO3PIN                 (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x74))
#define     FIO3SET                 (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x78))
#define     FIO3CLR                 (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x7C))

#define     FIO4DIR                 (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x80)) 
#define     FIO4MASK                (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x90))
#define     FIO4PIN                 (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x94))
#define     FIO4SET                 (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x98))
#define     FIO4CLR                 (*(volatile unsigned long *)(FIO_BASE_ADDR + 0x9C))
/*********************************************************************************************************
  FIOs can be accessed through WORD, HALF-WORD or BYTE
*********************************************************************************************************/

#define     FIO0DIR0                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x00)) 
#define     FIO1DIR0                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x20)) 
#define     FIO2DIR0                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x40)) 
#define     FIO3DIR0                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x60)) 
#define     FIO4DIR0                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x80)) 

#define     FIO0DIR1                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x01)) 
#define     FIO1DIR1                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x21)) 
#define     FIO2DIR1                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x41)) 
#define     FIO3DIR1                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x61)) 
#define     FIO4DIR1                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x81)) 

#define     FIO0DIR2                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x02)) 
#define     FIO1DIR2                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x22)) 
#define     FIO2DIR2                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x42)) 
#define     FIO3DIR2                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x62)) 
#define     FIO4DIR2                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x82)) 

#define     FIO0DIR3                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x03)) 
#define     FIO1DIR3                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x23)) 
#define     FIO2DIR3                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x43)) 
#define     FIO3DIR3                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x63)) 
#define     FIO4DIR3                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x83)) 

#define     FIO0DIRL                (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x00)) 
#define     FIO1DIRL                (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x20)) 
#define     FIO2DIRL                (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x40)) 
#define     FIO3DIRL                (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x60)) 
#define     FIO4DIRL                (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x80)) 

#define     FIO0DIRU                (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x02)) 
#define     FIO1DIRU                (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x22)) 
#define     FIO2DIRU                (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x42)) 
#define     FIO3DIRU                (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x62)) 
#define     FIO4DIRU                (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x82)) 

#define     FIO0MASK0               (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x10)) 
#define     FIO1MASK0               (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x30)) 
#define     FIO2MASK0               (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x50)) 
#define     FIO3MASK0               (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x70)) 
#define     FIO4MASK0               (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x90)) 

#define     FIO0MASK1               (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x11)) 
#define     FIO1MASK1               (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x31)) 
#define     FIO2MASK1               (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x51)) 
#define     FIO3MASK1               (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x71)) 
#define     FIO4MASK1               (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x91)) 

#define     FIO0MASK2               (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x12)) 
#define     FIO1MASK2               (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x32)) 
#define     FIO2MASK2               (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x52)) 
#define     FIO3MASK2               (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x72)) 
#define     FIO4MASK2               (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x92)) 

#define     FIO0MASK3               (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x13)) 
#define     FIO1MASK3               (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x33)) 
#define     FIO2MASK3               (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x53)) 
#define     FIO3MASK3               (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x73)) 
#define     FIO4MASK3               (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x93)) 

#define     FIO0MASKL               (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x10)) 
#define     FIO1MASKL               (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x30)) 
#define     FIO2MASKL               (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x50)) 
#define     FIO3MASKL               (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x70)) 
#define     FIO4MASKL               (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x90)) 

#define     FIO0MASKU               (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x12)) 
#define     FIO1MASKU               (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x32)) 
#define     FIO2MASKU               (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x52)) 
#define     FIO3MASKU               (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x72)) 
#define     FIO4MASKU               (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x92)) 

#define     FIO0PIN0                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x14)) 
#define     FIO1PIN0                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x34)) 
#define     FIO2PIN0                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x54)) 
#define     FIO3PIN0                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x74)) 
#define     FIO4PIN0                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x94)) 

#define     FIO0PIN1                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x15)) 
#define     FIO1PIN1                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x35)) 
#define     FIO2PIN1                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x55)) 
#define     FIO3PIN1                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x75)) 
#define     FIO4PIN1                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x95)) 

#define     FIO0PIN2                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x16)) 
#define     FIO1PIN2                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x36)) 
#define     FIO2PIN2                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x56)) 
#define     FIO3PIN2                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x76)) 
#define     FIO4PIN2                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x96)) 

#define     FIO0PIN3                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x17)) 
#define     FIO1PIN3                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x37)) 
#define     FIO2PIN3                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x57)) 
#define     FIO3PIN3                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x77)) 
#define     FIO4PIN3                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x97)) 

#define     FIO0PINL                (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x14)) 
#define     FIO1PINL                (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x34)) 
#define     FIO2PINL                (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x54)) 
#define     FIO3PINL                (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x74)) 
#define     FIO4PINL                (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x94)) 

#define     FIO0PINU                (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x16)) 
#define     FIO1PINU                (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x36)) 
#define     FIO2PINU                (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x56)) 
#define     FIO3PINU                (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x76)) 
#define     FIO4PINU                (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x96)) 

#define     FIO0SET0                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x18)) 
#define     FIO1SET0                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x38)) 
#define     FIO2SET0                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x58)) 
#define     FIO3SET0                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x78)) 
#define     FIO4SET0                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x98)) 

#define     FIO0SET1                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x19)) 
#define     FIO1SET1                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x39)) 
#define     FIO2SET1                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x59)) 
#define     FIO3SET1                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x79)) 
#define     FIO4SET1                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x99)) 

#define     FIO0SET2                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x1A)) 
#define     FIO1SET2                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x3A)) 
#define     FIO2SET2                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x5A)) 
#define     FIO3SET2                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x7A)) 
#define     FIO4SET2                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x9A)) 

#define     FIO0SET3                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x1B)) 
#define     FIO1SET3                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x3B)) 
#define     FIO2SET3                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x5B)) 
#define     FIO3SET3                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x7B)) 
#define     FIO4SET3                (*(volatile unsigned char *)(FIO_BASE_ADDR + 0x9B)) 

#define     FIO0SETL                (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x18)) 
#define     FIO1SETL                (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x38)) 
#define     FIO2SETL                (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x58)) 
#define     FIO3SETL                (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x78)) 
#define     FIO4SETL                (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x98)) 

#define     FIO0SETU                (*(volatile unsigned short *)(FIO_BASE_ADDR + 0x1A)) 

⌨️ 快捷键说明

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