📄 2440addr.h
字号:
#define EINTFLT0 bGPIO(0x94)#define EINTFLT1 bGPIO(0x98)#define EINTFLT2 bGPIO(0x9c)#define EINTFLT3 bGPIO(0xa0)#define EINTMASK bGPIO(0xa4)#define EINTPEND bGPIO(0xa8)#define GSTATUS0 bGPIO(0xac)#define GSTATUS1 bGPIO(0xb0)#define GSTATUS2 bGPIO(0xb4)#define GSTATUS3 bGPIO(0xb8)#define GSTATUS4 bGPIO(0xbc)#define GPACON bGPIO(0x00)#define GPADAT bGPIO(0x04)#define GPBCON bGPIO(0x10)#define GPBDAT bGPIO(0x14)#define GPBUP bGPIO(0x18)#define GPCCON bGPIO(0x20)#define GPCDAT bGPIO(0x24)#define GPCUP bGPIO(0x28)#define GPDCON bGPIO(0x30)#define GPDDAT bGPIO(0x34)#define GPDUP bGPIO(0x38)#define GPECON bGPIO(0x40)#define GPEDAT bGPIO(0x44)#define GPEUP bGPIO(0x48)#define GPFCON bGPIO(0x50)#define GPFDAT bGPIO(0x54)#define GPFUP bGPIO(0x58)#define GPGCON bGPIO(0x60)#define GPGDAT bGPIO(0x64)#define GPGUP bGPIO(0x68)#define GPHCON bGPIO(0x70)#define GPHDAT bGPIO(0x74)#define GPHUP bGPIO(0x78)
#define GPCON(x) (*(unsigned int*)(0x56000000 + (x) * 0x10))#define GPDAT(x) (*(unsigned int*)(0x56000004 + (x) * 0x10))#define GPUP(x) (*(unsigned int*)(0x56000008 + (x) * 0x10))#define GPIO_OFS_SHIFT 0#define GPIO_PORT_SHIFTT 8#define GPIO_PULLUP_SHIFT 16 #define GPIO_MODE_SHIFT 24#define GPIO_OFS_MASK 0x000000ff#define GPIO_PORT_MASK 0x0000ff00#define GPIO_PULLUP_MASK 0x00ff0000#define GPIO_MODE_MASK 0xff000000#define GPIO_MODE_IN (0 << GPIO_MODE_SHIFT)#define GPIO_MODE_OUT (1 << GPIO_MODE_SHIFT)#define GPIO_MODE_ALT0 (2 << GPIO_MODE_SHIFT)#define GPIO_MODE_ALT1 (3 << GPIO_MODE_SHIFT)#define GPIO_PULLUP_EN (0 << GPIO_PULLUP_SHIFT)#define GPIO_PULLUP_DIS (1 << GPIO_PULLUP_SHIFT) #define PORTA_OFS 0#define PORTB_OFS 1#define PORTC_OFS 2#define PORTD_OFS 3#define PORTE_OFS 4#define PORTF_OFS 5#define PORTG_OFS 6#define PORTH_OFS 7
#define PORTJ_OFS 0xd#define MAKE_GPIO_NUM(p, o) ((p << GPIO_PORT_SHIFTT) | (o << GPIO_OFS_SHIFT))#define GRAB_MODE(x) (((x) & GPIO_MODE_MASK) >> GPIO_MODE_SHIFT)#define GRAB_PULLUP(x) (((x) & GPIO_PULLUP_MASK) >> GPIO_PULLUP_SHIFT)#define GRAB_PORT(x) (((x) & GPIO_PORT_MASK) >> GPIO_PORT_SHIFTT)#define GRAB_OFS(x) (((x) & GPIO_OFS_MASK) >> GPIO_OFS_SHIFT)#define set_gpio_ctrl(x) \ ({ GPCON(GRAB_PORT((x))) &= ~(0x3 << (GRAB_OFS((x))*2)); \ GPCON(GRAB_PORT(x)) |= (GRAB_MODE(x) << (GRAB_OFS((x))*2)); \ GPUP(GRAB_PORT((x))) &= ~(1 << GRAB_OFS((x))); \ GPUP(GRAB_PORT((x))) |= (GRAB_PULLUP((x)) << GRAB_OFS((x))); })#define set_gpio_pullup(x) \ ({ GPUP(GRAB_PORT((x))) &= ~(1 << GRAB_OFS((x))); \ GPUP(GRAB_PORT((x))) |= (GRAB_PULLUP((x)) << GRAB_OFS((x))); })#define set_gpio_pullup_user(x, v) \ ({ GPUP(GRAB_PORT((x))) &= ~(1 << GRAB_OFS((x))); \ GPUP(GRAB_PORT((x))) |= ((v) << GRAB_OFS((x))); })#define set_gpio_mode(x) \ ({ GPCON(GRAB_PORT((x))) &= ~(0x3 << (GRAB_OFS((x))*2)); \ GPCON(GRAB_PORT((x))) |= (GRAB_MODE((x)) << (GRAB_OFS((x))*2)); })#define set_gpio_mode_user(x, v) \ ({ GPCON(GRAB_PORT((x))) & = ~(0x3 << (GRAB_OFS((x))*2)); \ GPCON(GRAB_PORT((x))) |= ((v) << (GRAB_OFS((x))*2)); })#define set_gpioA_mode(x) \ ({ GPCON(GRAB_PORT((x))) &= ~(0x1 << GRAB_OFS((x))); \ GPCON(GRAB_PORT((x))) |= (GRAB_MODE((x)) << GRAB_OFS((x))); })#define read_gpio_bit(x) ((GPDAT(GRAB_PORT((x))) & (1<<GRAB_OFS((x)))) >> GRAB_OFS((x)))#define read_gpio_reg(x) (GPDAT(GRAB_PORT((x)))#define write_gpio_bit(x, v) \ do{ GPDAT(GRAB_PORT((x))) &= ~(0x1 << GRAB_OFS((x))); \ GPDAT(GRAB_PORT((x))) |= ((v) << GRAB_OFS((x))); }while(0)#define write_gpio_reg(x, v) (GPDAT(GRAB_PORT((x))) = (v)) /* * * Don't use write_gpio_bit & write_gpio_reg in Open-drain I/O type * * -by SW.LEE * */ #define write_gpio_bit_clear(x) \ ( GPDAT(GRAB_PORT((x))) &= ~(0x1 << GRAB_OFS((x))) )#define write_gpio_bit_set(x) \ ( GPDAT(GRAB_PORT((x))) |= (0x1 << GRAB_OFS((x))) )#define GPIO_A0 MAKE_GPIO_NUM(PORTA_OFS, 0)#define GPIO_A1 MAKE_GPIO_NUM(PORTA_OFS, 1)#define GPIO_A2 MAKE_GPIO_NUM(PORTA_OFS, 2)#define GPIO_A3 MAKE_GPIO_NUM(PORTA_OFS, 3)#define GPIO_A4 MAKE_GPIO_NUM(PORTA_OFS, 4)#define GPIO_A5 MAKE_GPIO_NUM(PORTA_OFS, 5)#define GPIO_A6 MAKE_GPIO_NUM(PORTA_OFS, 6)#define GPIO_A7 MAKE_GPIO_NUM(PORTA_OFS, 7)#define GPIO_A8 MAKE_GPIO_NUM(PORTA_OFS, 8)#define GPIO_A9 MAKE_GPIO_NUM(PORTA_OFS, 9)#define GPIO_A10 MAKE_GPIO_NUM(PORTA_OFS, 10)#define GPIO_A11 MAKE_GPIO_NUM(PORTA_OFS, 11)#define GPIO_A12 MAKE_GPIO_NUM(PORTA_OFS, 12)#define GPIO_A13 MAKE_GPIO_NUM(PORTA_OFS, 13)#define GPIO_A14 MAKE_GPIO_NUM(PORTA_OFS, 14)#define GPIO_A15 MAKE_GPIO_NUM(PORTA_OFS, 15)#define GPIO_A16 MAKE_GPIO_NUM(PORTA_OFS, 16)#define GPIO_A17 MAKE_GPIO_NUM(PORTA_OFS, 17)#define GPIO_A18 MAKE_GPIO_NUM(PORTA_OFS, 18)#define GPIO_A19 MAKE_GPIO_NUM(PORTA_OFS, 19)#define GPIO_A20 MAKE_GPIO_NUM(PORTA_OFS, 20)#define GPIO_A21 MAKE_GPIO_NUM(PORTA_OFS, 21)#define GPIO_A22 MAKE_GPIO_NUM(PORTA_OFS, 22)#define GPIO_B0 MAKE_GPIO_NUM(PORTB_OFS, 0)#define GPIO_B1 MAKE_GPIO_NUM(PORTB_OFS, 1)#define GPIO_B2 MAKE_GPIO_NUM(PORTB_OFS, 2)#define GPIO_B3 MAKE_GPIO_NUM(PORTB_OFS, 3)#define GPIO_B4 MAKE_GPIO_NUM(PORTB_OFS, 4)#define GPIO_B5 MAKE_GPIO_NUM(PORTB_OFS, 5)#define GPIO_B6 MAKE_GPIO_NUM(PORTB_OFS, 6)#define GPIO_B7 MAKE_GPIO_NUM(PORTB_OFS, 7)#define GPIO_B8 MAKE_GPIO_NUM(PORTB_OFS, 8)#define GPIO_B9 MAKE_GPIO_NUM(PORTB_OFS, 9)#define GPIO_B10 MAKE_GPIO_NUM(PORTB_OFS, 10)#define GPIO_C0 MAKE_GPIO_NUM(PORTC_OFS, 0)#define GPIO_C1 MAKE_GPIO_NUM(PORTC_OFS, 1)#define GPIO_C2 MAKE_GPIO_NUM(PORTC_OFS, 2)#define GPIO_C3 MAKE_GPIO_NUM(PORTC_OFS, 3)#define GPIO_C4 MAKE_GPIO_NUM(PORTC_OFS, 4)#define GPIO_C5 MAKE_GPIO_NUM(PORTC_OFS, 5)#define GPIO_C6 MAKE_GPIO_NUM(PORTC_OFS, 6)#define GPIO_C7 MAKE_GPIO_NUM(PORTC_OFS, 7)#define GPIO_C8 MAKE_GPIO_NUM(PORTC_OFS, 8)#define GPIO_C9 MAKE_GPIO_NUM(PORTC_OFS, 9)#define GPIO_C10 MAKE_GPIO_NUM(PORTC_OFS, 10)#define GPIO_C11 MAKE_GPIO_NUM(PORTC_OFS, 11)#define GPIO_C12 MAKE_GPIO_NUM(PORTC_OFS, 12)#define GPIO_C13 MAKE_GPIO_NUM(PORTC_OFS, 13)#define GPIO_C14 MAKE_GPIO_NUM(PORTC_OFS, 14)#define GPIO_C15 MAKE_GPIO_NUM(PORTC_OFS, 15)#define GPIO_D0 MAKE_GPIO_NUM(PORTD_OFS, 0)#define GPIO_D1 MAKE_GPIO_NUM(PORTD_OFS, 1)#define GPIO_D2 MAKE_GPIO_NUM(PORTD_OFS, 2)#define GPIO_D3 MAKE_GPIO_NUM(PORTD_OFS, 3)#define GPIO_D4 MAKE_GPIO_NUM(PORTD_OFS, 4)#define GPIO_D5 MAKE_GPIO_NUM(PORTD_OFS, 5)#define GPIO_D6 MAKE_GPIO_NUM(PORTD_OFS, 6)#define GPIO_D7 MAKE_GPIO_NUM(PORTD_OFS, 7)#define GPIO_D8 MAKE_GPIO_NUM(PORTD_OFS, 8)#define GPIO_D9 MAKE_GPIO_NUM(PORTD_OFS, 9)#define GPIO_D10 MAKE_GPIO_NUM(PORTD_OFS, 10)#define GPIO_D11 MAKE_GPIO_NUM(PORTD_OFS, 11)#define GPIO_D12 MAKE_GPIO_NUM(PORTD_OFS, 12)#define GPIO_D13 MAKE_GPIO_NUM(PORTD_OFS, 13)#define GPIO_D14 MAKE_GPIO_NUM(PORTD_OFS, 14)#define GPIO_D15 MAKE_GPIO_NUM(PORTD_OFS, 15)#define GPIO_E0 MAKE_GPIO_NUM(PORTE_OFS, 0)#define GPIO_E1 MAKE_GPIO_NUM(PORTE_OFS, 1)#define GPIO_E2 MAKE_GPIO_NUM(PORTE_OFS, 2)#define GPIO_E3 MAKE_GPIO_NUM(PORTE_OFS, 3)#define GPIO_E4 MAKE_GPIO_NUM(PORTE_OFS, 4)#define GPIO_E5 MAKE_GPIO_NUM(PORTE_OFS, 5)#define GPIO_E6 MAKE_GPIO_NUM(PORTE_OFS, 6)#define GPIO_E7 MAKE_GPIO_NUM(PORTE_OFS, 7)#define GPIO_E8 MAKE_GPIO_NUM(PORTE_OFS, 8)#define GPIO_E9 MAKE_GPIO_NUM(PORTE_OFS, 9)#define GPIO_E10 MAKE_GPIO_NUM(PORTE_OFS, 10)#define GPIO_E11 MAKE_GPIO_NUM(PORTE_OFS, 11)#define GPIO_E12 MAKE_GPIO_NUM(PORTE_OFS, 12)#define GPIO_E13 MAKE_GPIO_NUM(PORTE_OFS, 13)#define GPIO_E14 MAKE_GPIO_NUM(PORTE_OFS, 14)#define GPIO_E15 MAKE_GPIO_NUM(PORTE_OFS, 15)#define GPIO_F0 MAKE_GPIO_NUM(PORTF_OFS, 0)#define GPIO_F1 MAKE_GPIO_NUM(PORTF_OFS, 1)#define GPIO_F2 MAKE_GPIO_NUM(PORTF_OFS, 2)#define GPIO_F3 MAKE_GPIO_NUM(PORTF_OFS, 3)#define GPIO_F4 MAKE_GPIO_NUM(PORTF_OFS, 4)#define GPIO_F5 MAKE_GPIO_NUM(PORTF_OFS, 5)#define GPIO_F6 MAKE_GPIO_NUM(PORTF_OFS, 6)#define GPIO_F7 MAKE_GPIO_NUM(PORTF_OFS, 7)#define GPIO_G0 MAKE_GPIO_NUM(PORTG_OFS, 0)#define GPIO_G1 MAKE_GPIO_NUM(PORTG_OFS, 1)#define GPIO_G2 MAKE_GPIO_NUM(PORTG_OFS, 2)#define GPIO_G3 MAKE_GPIO_NUM(PORTG_OFS, 3)#define GPIO_G4 MAKE_GPIO_NUM(PORTG_OFS, 4)#define GPIO_G5 MAKE_GPIO_NUM(PORTG_OFS, 5)#define GPIO_G6 MAKE_GPIO_NUM(PORTG_OFS, 6)#define GPIO_G7 MAKE_GPIO_NUM(PORTG_OFS, 7)#define GPIO_G8 MAKE_GPIO_NUM(PORTG_OFS, 8)#define GPIO_G9 MAKE_GPIO_NUM(PORTG_OFS, 9)#define GPIO_G10 MAKE_GPIO_NUM(PORTG_OFS, 10)#define GPIO_G11 MAKE_GPIO_NUM(PORTG_OFS, 11)#define GPIO_G12 MAKE_GPIO_NUM(PORTG_OFS, 12)#define GPIO_G13 MAKE_GPIO_NUM(PORTG_OFS, 13)#define GPIO_G14 MAKE_GPIO_NUM(PORTG_OFS, 14)#define GPIO_G15 MAKE_GPIO_NUM(PORTG_OFS, 15)#define GPIO_H0 MAKE_GPIO_NUM(PORTH_OFS, 0)#define GPIO_H1 MAKE_GPIO_NUM(PORTH_OFS, 1)#define GPIO_H2 MAKE_GPIO_NUM(PORTH_OFS, 2)#define GPIO_H3 MAKE_GPIO_NUM(PORTH_OFS, 3)#define GPIO_H4 MAKE_GPIO_NUM(PORTH_OFS, 4)#define GPIO_H5 MAKE_GPIO_NUM(PORTH_OFS, 5)#define GPIO_H6 MAKE_GPIO_NUM(PORTH_OFS, 6)#define GPIO_H7 MAKE_GPIO_NUM(PORTH_OFS, 7)#define GPIO_H8 MAKE_GPIO_NUM(PORTH_OFS, 8)#define GPIO_H9 MAKE_GPIO_NUM(PORTH_OFS, 9)#define GPIO_H10 MAKE_GPIO_NUM(PORTH_OFS, 10)
#define GPIO_J0 MAKE_GPIO_NUM(PORTJ_OFS, 0)
#define GPIO_J1 MAKE_GPIO_NUM(PORTJ_OFS, 1)
#define GPIO_J2 MAKE_GPIO_NUM(PORTJ_OFS, 2)
#define GPIO_J3 MAKE_GPIO_NUM(PORTJ_OFS, 3)
#define GPIO_J4 MAKE_GPIO_NUM(PORTJ_OFS, 4)
#define GPIO_J5 MAKE_GPIO_NUM(PORTJ_OFS, 5)
#define GPIO_J6 MAKE_GPIO_NUM(PORTJ_OFS, 6)
#define GPIO_J7 MAKE_GPIO_NUM(PORTJ_OFS, 7)
#define GPIO_J8 MAKE_GPIO_NUM(PORTJ_OFS, 8)
#define GPIO_J9 MAKE_GPIO_NUM(PORTJ_OFS, 9)
#define GPIO_J10 MAKE_GPIO_NUM(PORTJ_OFS, 10)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -