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

📄 drvgpio.h

📁 mstar 776 开发的车载dvd
💻 H
📖 第 1 页 / 共 3 页
字号:
#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 + -