函数功能的分析:
GPIOSetDir(PORT3, 0, 1); // 设置第三组第0个引脚为输出
内部实现:
LPC_GPIO[portNum]->DIR |= 1<<bitPosi;
typedef struct
{
union {
__IO uint32_t MASKED_ACCESS[4096]; /*!< Offset: 0x0000 to 0x3FFC Port data Register for pins PIOn_0 to PIOn_11 (R/W) */
struct {
uint32_t RESERVED0[4095]; /* 此处数组大小是用于地址偏移 union 16K, RESERVED1 16K, 共偏移32K */
__IO uint32_t DATA; /*!< Offset: 0x3FFC Port data Register (R/W) */
};
};
uint32_t RESERVED1[4096];
__IO uint32_t DIR; /*!< Offset: 0x8000 Data direction Register (R/W) */
__IO uin