📄 drvgpio.h
字号:
#ifndef _DRV_GPIO_H_
#define _DRV_GPIO_H_
#include "drvGlobal.h" // register access functions
//----------------------------------------------------------------------------
// Internal GPIO
//----------------------------------------------------------------------------
#define GPIO0_PAD PAD_GPIO1
#if (PAD_GPIO1_IS_GPIO == GPIO_51PORT_LOW || PAD_GPIO1_IS_GPIO == GPIO_51PORT_HIGH)
#define GPIO0_DIR(d) ((d) && (P1_0 = 0))
#define GPIO0_SET(v) (P1_0 = (bit)(v))
#define GPIO0_GET() (P1_0)
#else
#define GPIO0_DIR(d) MDrv_WriteRegBit(0x1E64, d, _BIT0)
#define GPIO0_SET(v) MDrv_WriteRegBit(0x1E62, v, _BIT0)
#define GPIO0_GET() MDrv_ReadRegBit(0x1E60, _BIT0)
#endif
#define GPIO1_PAD PAD_GPIO2
#if (PAD_GPIO2_IS_GPIO == GPIO_51PORT_LOW || PAD_GPIO2_IS_GPIO == GPIO_51PORT_HIGH)
#define GPIO1_DIR(d) ((d) && (P1_1 = 0))
#define GPIO1_SET(v) (P1_1 = (bit)(v))
#define GPIO1_GET() (P1_1)
#else
#define GPIO1_DIR(d) MDrv_WriteRegBit(0x1E64, d, _BIT1)
#define GPIO1_SET(v) MDrv_WriteRegBit(0x1E62, v, _BIT1)
#define GPIO1_GET() MDrv_ReadRegBit(0x1E60, _BIT1)
#endif
#define GPIO2_PAD PAD_GPIO3
#if (PAD_GPIO3_IS_GPIO == GPIO_51PORT_LOW || PAD_GPIO3_IS_GPIO == GPIO_51PORT_HIGH)
#define GPIO2_DIR(d) ((d) && (P1_2 = 0))
#define GPIO2_SET(v) (P1_2 = (bit)(v))
#define GPIO2_GET() (P1_2)
#else
#define GPIO2_DIR(d) MDrv_WriteRegBit(0x1E64, d, _BIT2)
#define GPIO2_SET(v) MDrv_WriteRegBit(0x1E62, v, _BIT2)
#define GPIO2_GET() MDrv_ReadRegBit(0x1E60, _BIT2)
#endif
#define GPIO3_PAD PAD_IRIN
#if (PAD_IRIN_IS_GPIO == GPIO_51PORT_LOW || PAD_IRIN_IS_GPIO == GPIO_51PORT_HIGH)
#define GPIO3_DIR(d) ((d) && (P1_3 = 0))
#define GPIO3_SET(v) (P1_3 = (bit)(v))
#define GPIO3_GET() (P1_3)
#else
#define GPIO3_DIR(d) MDrv_WriteRegBit(0x1E64, d, _BIT3)
#define GPIO3_SET(v) MDrv_WriteRegBit(0x1E62, v, _BIT3)
#define GPIO3_GET() MDrv_ReadRegBit(0x1E60, _BIT3)
#endif
#define GPIO4_PAD PAD_INT
#if (PAD_INT_IS_GPIO == GPIO_51PORT_LOW || PAD_INT_IS_GPIO == GPIO_51PORT_HIGH)
#define GPIO4_DIR(d) ((d) && (P1_4 = 0))
#define GPIO4_SET(v) (P1_4 = (bit)(v))
#define GPIO4_GET() (P1_4)
#else
#define GPIO4_DIR(d) MDrv_WriteRegBit(0x1E64, d, _BIT4)
#define GPIO4_SET(v) MDrv_WriteRegBit(0x1E62, v, _BIT4)
#define GPIO4_GET() MDrv_ReadRegBit(0x1E60, _BIT4)
#endif
#define GPIO5_PAD PAD_PWM0
#if (PAD_PWM0_IS_GPIO == GPIO_51PORT_LOW || PAD_PWM0_IS_GPIO == GPIO_51PORT_HIGH)
#define GPIO5_DIR(d) ((d) && (P1_5 = 0))
#define GPIO5_SET(v) (P1_5 = (bit)(v))
#define GPIO5_GET() (P1_5)
#else
#define GPIO5_DIR(d) MDrv_WriteRegBit(0x1E64, d, _BIT5)
#define GPIO5_SET(v) MDrv_WriteRegBit(0x1E62, v, _BIT5)
#define GPIO5_GET() MDrv_ReadRegBit(0x1E60, _BIT5)
#endif
#define GPIO6_PAD PAD_PWM1
#if (PAD_PWM1_IS_GPIO == GPIO_51PORT_LOW || PAD_PWM1_IS_GPIO == GPIO_51PORT_HIGH)
#define GPIO6_DIR(d) ((d) && (P1_6 = 0))
#define GPIO6_SET(v) (P1_6 = (bit)(v))
#define GPIO6_GET() (P1_6)
#else
#define GPIO6_DIR(d) MDrv_WriteRegBit(0x1E64, d, _BIT6)
#define GPIO6_SET(v) MDrv_WriteRegBit(0x1E62, v, _BIT6)
#define GPIO6_GET() MDrv_ReadRegBit(0x1E60, _BIT6)
#endif
#define GPIO7_PAD PAD_PWM2
#define GPIO7_DIR(d) MDrv_WriteRegBit(0x1E64, d, _BIT7)
#define GPIO7_SET(v) MDrv_WriteRegBit(0x1E62, v, _BIT7)
#define GPIO7_GET() MDrv_ReadRegBit(0x1E60, _BIT7)
#define GPIO8_PAD PAD_PWM3
#define GPIO8_DIR(d) MDrv_WriteRegBit(0x1E65, d, _BIT0)
#define GPIO8_SET(v) MDrv_WriteRegBit(0x1E63, v, _BIT0)
#define GPIO8_GET() MDrv_ReadRegBit(0x1E61, _BIT0)
#define GPIO9_PAD PAD_IRIN2
#define GPIO9_DIR(d) MDrv_WriteRegBit(0x1E65, d, _BIT1)
#define GPIO9_SET(v) MDrv_WriteRegBit(0x1E63, v, _BIT1)
#define GPIO9_GET() MDrv_ReadRegBit(0x1E61, _BIT1)
#define GPIO10_PAD PAD_INT2
#define GPIO10_DIR(d) MDrv_WriteRegBit(0x1E65, d, _BIT2)
#define GPIO10_SET(v) MDrv_WriteRegBit(0x1E63, v, _BIT2)
#define GPIO10_GET() MDrv_ReadRegBit(0x1E61, _BIT2)
#define GPIO11_PAD PAD_DDCR_DA2
#define GPIO11_DIR(d) MDrv_WriteRegBit(0x1E65, d, _BIT3)
#define GPIO11_SET(v) MDrv_WriteRegBit(0x1E63, v, _BIT3)
#define GPIO11_GET() MDrv_ReadRegBit(0x1E61, _BIT3)
#define GPIO12_PAD PAD_DDCR_CK2
#define GPIO12_DIR(d) MDrv_WriteRegBit(0x1E65, d, _BIT4)
#define GPIO12_SET(v) MDrv_WriteRegBit(0x1E63, v, _BIT4)
#define GPIO12_GET() MDrv_ReadRegBit(0x1E61, _BIT4)
#define GPIO13_PAD PAD_LHSYNC2
#if (PAD_LHSYNC2_IS_GPIO == GPIO_51PORT_LOW || PAD_LHSYNC2_IS_GPIO == GPIO_51PORT_HIGH)
#define GPIO13_DIR(d) ((d) && (P1_7 = 0))
#define GPIO13_SET(v) (P1_7 = (bit)(v))
#define GPIO13_GET() (P1_7)
#else
#define GPIO13_DIR(d) MDrv_WriteRegBit(0x1E65, d, _BIT5)
#define GPIO13_SET(v) MDrv_WriteRegBit(0x1E63, v, _BIT5)
#define GPIO13_GET() MDrv_ReadRegBit(0x1E61, _BIT5)
#endif
#define GPIO14_PAD PAD_LVSYNC2
#define GPIO14_DIR(d) MDrv_WriteRegBit(0x1E65, d, _BIT6)
#define GPIO14_SET(v) MDrv_WriteRegBit(0x1E63, v, _BIT6)
#define GPIO14_GET() MDrv_ReadRegBit(0x1E61, _BIT6)
#define GPIO15_PAD PAD_FLH_WE_N
#define GPIO15_DIR(d) MDrv_WriteRegBit(0x1E65, d, _BIT7)
#define GPIO15_SET(v) MDrv_WriteRegBit(0x1E63, v, _BIT7)
#define GPIO15_GET() MDrv_ReadRegBit(0x1E61, _BIT7)
#define GPIO16_PAD PAD_TCON_EXT0 // TCON_GPIO0
#define GPIO16_DIR(d) MDrv_WriteRegBit(0x1E97, d, _BIT0)
#define GPIO16_SET(v) MDrv_WriteRegBit(0x1E96, v, _BIT4)
#define GPIO16_GET() MDrv_ReadRegBit(0x1E96, _BIT0)
#define GPIO17_PAD PAD_TCON_EXT1 // TCON_GPIO1
#define GPIO17_DIR(d) MDrv_WriteRegBit(0x1E97, d, _BIT1)
#define GPIO17_SET(v) MDrv_WriteRegBit(0x1E96, v, _BIT5)
#define GPIO17_GET() MDrv_ReadRegBit(0x1E96, _BIT1)
#define GPIO18_PAD PAD_TCON_EXT2 // TCON_GPIO2
#define GPIO18_DIR(d) MDrv_WriteRegBit(0x1E97, d, _BIT2)
#define GPIO18_SET(v) MDrv_WriteRegBit(0x1E96, v, _BIT6)
#define GPIO18_GET() MDrv_ReadRegBit(0x1E96, _BIT2)
#define GPIO19_PAD PAD_TCON_EXT3 // TCON_GPIO3
#define GPIO19_DIR(d) MDrv_WriteRegBit(0x1E97, d, _BIT3)
#define GPIO19_SET(v) MDrv_WriteRegBit(0x1E96, v, _BIT7)
#define GPIO19_GET() MDrv_ReadRegBit(0x1E96, _BIT3)
#define GPIO20_PAD PAD_DOUT_CLK // DI_GPIO0
#define GPIO20_DIR(d) MDrv_WriteRegBit(0x1E7C, d, _BIT0)
#define GPIO20_SET(v) MDrv_WriteRegBit(0x1E7A, v, _BIT0)
#define GPIO20_GET() MDrv_ReadRegBit(0x1E78, _BIT0)
#define GPIO21_PAD PAD_DOUT_0 // DI_GPIO1
#define GPIO21_DIR(d) MDrv_WriteRegBit(0x1E7C, d, _BIT1)
#define GPIO21_SET(v) MDrv_WriteRegBit(0x1E7A, v, _BIT1)
#define GPIO21_GET() MDrv_ReadRegBit(0x1E78, _BIT1)
#define GPIO22_PAD PAD_DOUT_1 // DI_GPIO2
#define GPIO22_DIR(d) MDrv_WriteRegBit(0x1E7C, d, _BIT2)
#define GPIO22_SET(v) MDrv_WriteRegBit(0x1E7A, v, _BIT2)
#define GPIO22_GET() MDrv_ReadRegBit(0x1E78, _BIT2)
#define GPIO23_PAD PAD_DOUT_2 // DI_GPIO3
#define GPIO23_DIR(d) MDrv_WriteRegBit(0x1E7C, d, _BIT3)
#define GPIO23_SET(v) MDrv_WriteRegBit(0x1E7A, v, _BIT3)
#define GPIO23_GET() MDrv_ReadRegBit(0x1E78, _BIT3)
#define GPIO24_PAD PAD_DOUT_3 // DI_GPIO4
#define GPIO24_DIR(d) MDrv_WriteRegBit(0x1E7C, d, _BIT4)
#define GPIO24_SET(v) MDrv_WriteRegBit(0x1E7A, v, _BIT4)
#define GPIO24_GET() MDrv_ReadRegBit(0x1E78, _BIT4)
#define GPIO25_PAD PAD_DIN_D0 // DI_GPIO5
#define GPIO25_DIR(d) MDrv_WriteRegBit(0x1E7C, d, _BIT5)
#define GPIO25_SET(v) MDrv_WriteRegBit(0x1E7A, v, _BIT5)
#define GPIO25_GET() MDrv_ReadRegBit(0x1E78, _BIT5)
#define GPIO26_PAD PAD_DIN_D1 // DI_GPIO6
#define GPIO26_DIR(d) MDrv_WriteRegBit(0x1E7C, d, _BIT6)
#define GPIO26_SET(v) MDrv_WriteRegBit(0x1E7A, v, _BIT6)
#define GPIO26_GET() MDrv_ReadRegBit(0x1E78, _BIT6)
#define GPIO27_PAD PAD_DIN_D2 // DI_GPIO7
#define GPIO27_DIR(d) MDrv_WriteRegBit(0x1E7C, d, _BIT7)
#define GPIO27_SET(v) MDrv_WriteRegBit(0x1E7A, v, _BIT7)
#define GPIO27_GET() MDrv_ReadRegBit(0x1E78, _BIT7)
#define GPIO28_PAD PAD_DIN_D3 // DI_GPIO8
#define GPIO28_DIR(d) MDrv_WriteRegBit(0x1E7D, d, _BIT0)
#define GPIO28_SET(v) MDrv_WriteRegBit(0x1E7B, v, _BIT0)
#define GPIO28_GET() MDrv_ReadRegBit(0x1E79, _BIT0)
#define GPIO29_PAD PAD_TS0_D0 // TS0_GPIO0
#define GPIO29_DIR(d) MDrv_WriteRegBit(0x1E70, d, _BIT0);
#define GPIO29_SET(v) MDrv_WriteRegBit(0x1E6E, v, _BIT0);
#define GPIO29_GET() MDrv_ReadRegBit(0x1E6C, _BIT0);
#define GPIO30_PAD PAD_TS0_D1 // TS0_GPIO1
#define GPIO30_DIR(d) MDrv_WriteRegBit(0x1E70, d, _BIT1);
#define GPIO30_SET(v) MDrv_WriteRegBit(0x1E6E, v, _BIT1);
#define GPIO30_GET() MDrv_ReadRegBit(0x1E6C, _BIT1);
#define GPIO31_PAD PAD_TS0_D2 // TS0_GPIO2
#define GPIO31_DIR(d) MDrv_WriteRegBit(0x1E70, d, _BIT2);
#define GPIO31_SET(v) MDrv_WriteRegBit(0x1E6E, v, _BIT2);
#define GPIO31_GET() MDrv_ReadRegBit(0x1E6C, _BIT2);
#define GPIO32_PAD PAD_TS0_D3 // TS0_GPIO3
#define GPIO32_DIR(d) MDrv_WriteRegBit(0x1E70, d, _BIT3);
#define GPIO32_SET(v) MDrv_WriteRegBit(0x1E6E, v, _BIT3);
#define GPIO32_GET() MDrv_ReadRegBit(0x1E6C, _BIT3);
#define GPIO33_PAD PAD_TS0_D4 // TS0_GPIO4
#define GPIO33_DIR(d) MDrv_WriteRegBit(0x1E70, d, _BIT4);
#define GPIO33_SET(v) MDrv_WriteRegBit(0x1E6E, v, _BIT4);
#define GPIO33_GET() MDrv_ReadRegBit(0x1E6C, _BIT4);
#define GPIO34_PAD PAD_TS0_D5 // TS0_GPIO5
#define GPIO34_DIR(d) MDrv_WriteRegBit(0x1E70, d, _BIT5);
#define GPIO34_SET(v) MDrv_WriteRegBit(0x1E6E, v, _BIT5);
#define GPIO34_GET() MDrv_ReadRegBit(0x1E6C, _BIT5);
#define GPIO35_PAD PAD_TS0_D6 // TS0_GPIO6
#define GPIO35_DIR(d) MDrv_WriteRegBit(0x1E70, d, _BIT6);
#define GPIO35_SET(v) MDrv_WriteRegBit(0x1E6E, v, _BIT6);
#define GPIO35_GET() MDrv_ReadRegBit(0x1E6C, _BIT6);
#define GPIO36_PAD PAD_TS0_D7 // TS0_GPIO7
#define GPIO36_DIR(d) MDrv_WriteRegBit(0x1E70, d, _BIT7);
#define GPIO36_SET(v) MDrv_WriteRegBit(0x1E6E, v, _BIT7);
#define GPIO36_GET() MDrv_ReadRegBit(0x1E6C, _BIT7);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -