调用方法:
// GPIO port
#define VIRTUAL_SYSTEM_ASIC_REGS_BASE (0x90000000 | 0x20000000)
#define GPIO_BASE (VIRTUAL_SYSTEM_ASIC_REGS_BASE + 0x00840000)
#define GPIO_PADR (volatile ULONG *)(GPIO_BASE + 0x0000)
#define GPIO_PBDR (volatile ULONG *)(GPIO_BASE + 0x0004)
#define GPIO_PADDR (volatile ULONG *)(GPIO_BASE + 0x0010)
#define GPIO_PBDDR (volatile ULONG *)(GPIO_BASE + 0x0014)
ULONG ulTemp;
//(GPO),作输出端口
//1、 Set GPIO Pins 0 1 2 7 8 9 10 11 12 13 14 15 as outputs.
ulTemp = *GPIO_PADDR;
*GPIO_PADDR = ulTemp | 0x87;
ulTemp = *GPIO_PBDDR;
*GPIO_PBDDR = ulTemp | 0xFF;
//2、 Set GPIO pins 0 1 2 7 8 9 10 11 12 13 14 15 to low .
ulTemp = *GPIO_PADR;
*GPIO_PADR = ulTemp & 0x78;
ulTemp = *GPIO_PBDR;
*GPIO_PBDR = ulTemp & 0x00;
//3、 Set GPIO pins 0 1 2 7 8 9 10 11 12 13 14 15
// GPIO port
#define VIRTUAL_SYSTEM_ASIC_REGS_BASE (0x90000000 | 0x20000000)
#define GPIO_BASE (VIRTUAL_SYSTEM_ASIC_REGS_BASE + 0x00840000)
#define GPIO_PADR (volatile ULONG *)(GPIO_BASE + 0x0000)
#define GPIO_PBDR (volatile ULONG *)(GPIO_BASE + 0x0004)
#define GPIO_PADDR (volatile ULONG *)(GPIO_BASE + 0x0010)
#define GPIO_PBDDR (volatile ULONG *)(GPIO_BASE + 0x0014)
ULONG ulTemp;
//(GPO),作输出端口
//1、 Set GPIO Pins 0 1 2 7 8 9 10 11 12 13 14 15 as outputs.
ulTemp = *GPIO_PADDR;
*GPIO_PADDR = ulTemp | 0x87;
ulTemp = *GPIO_PBDDR;
*GPIO_PBDDR = ulTemp | 0xFF;
//2、 Set GPIO pins 0 1 2 7 8 9 10 11 12 13 14 15 to low .
ulTemp = *GPIO_PADR;
*GPIO_PADR = ulTemp & 0x78;
ulTemp = *GPIO_PBDR;
*GPIO_PBDR = ulTemp & 0x00;
//3、 Set GPIO pins 0 1 2 7 8 9 10 11 12 13 14 15