7#ifndef MCXA153_B31BFF6B_C1BE_4E18_A7EE_2B374A8352B8
8#define MCXA153_B31BFF6B_C1BE_4E18_A7EE_2B374A8352B8
16#include "./CoreDescriptor.h"
24 class CoreGeneralPort;
75 enum struct Select :
unsigned char;
178 virtual bool init(
void)
override;
210 virtual uint32
dir(uint32 port)
override;
273 virtual uint32
pin(uint32 port)
override;
354 static constexpr const uint32 VALID_MASK[] = {
356 ((1U << 0) | (1U << 1) | (1U << 2) | (1U << 3) | (1U << 6) | (1U << 16) |
359 ((1U << 0) | (1U << 1) | (1U << 2) | (1U << 3) | (1U << 4) | (1U << 5) | (1U << 6) |
360 (1U << 7) | (1U << 8) | (1U << 9) | (1U << 10) | (1U << 11) | (1U << 12) |
361 (1U << 13) | (1U << 29) | (1U << 30) | (1U << 31)),
363 ((1U << 0) | (1U << 1) | (1U << 2) | (1U << 3) | (1U << 4) | (1U << 5) | (1U << 6) |
364 (1U << 7) | (1U << 12) | (1U << 13) | (1U << 16)),
366 ((1U << 0) | (1U << 1) | (1U << 6) | (1U << 7) | (1U << 8) | (1U << 9) |
367 (1U << 10) | (1U << 11) | (1U << 12) | (1U << 13) | (1U << 14) | (1U << 15) |
368 (1U << 27) | (1U << 28) | (1U << 29) | (1U << 30) | (1U << 31))};
370 static constexpr const Descriptor DESCRIPTORS[] = {
373 mcxa153::chip::reset::Control::GPIO0,
375 mcxa153::chip::reset::Control::PORT0,
403 return mcxa153::chip::port::PORT[
static_cast<unsigned char>(select)];
410 static inline constexpr const Descriptor* toDescriptor(
Select select) {
411 return &DESCRIPTORS[
static_cast<unsigned char>(select)];
MCXA153 通用輸入/輸出 (General Purpose Input/Output) 控制器靜態工具類別
Definition chip/gpio/GPIO.h:139
MCXA153 通用GPIO埠控制器
Definition CoreGeneralPort.h:70
virtual bool isInit(void) override
檢查埠初始化狀態
virtual bool deinit(void) override
反初始化GPIO埠
virtual hal::digital::GeneralPort & dir(uint32 port, uint32 value) override
設定埠方向
mcxa153::chip::port::Register *const vBasePort
特定GPIO埠基底暫存器位址
Definition CoreGeneralPort.h:93
virtual uint32 dir(uint32 port) override
讀取埠方向設定
virtual ~CoreGeneralPort(void) override
解構通用GPIO埠物件
virtual hal::digital::GeneralPort & pinSet(uint32 port, uint32 mask) override
設定埠腳位狀態
mcxa153::chip::gpio::Register *const vBase
GPIO模組基底暫存器位址
Definition CoreGeneralPort.h:90
virtual hal::digital::GeneralPort & dirSet(uint32 port, uint32 mask) override
設定埠方向位元
virtual hal::digital::GeneralPort & dirClear(uint32 port, uint32 mask) override
清除埠方向位元
virtual hal::digital::GeneralPort & pinClear(uint32 port, uint32 mask) override
清除埠腳位狀態
virtual uint32 pin(uint32 port) override
讀取埠腳位狀態
CoreGeneralPort(Select select)
建構通用GPIO埠物件
virtual hal::digital::GeneralPort & pin(uint32 port, uint32 value) override
設定埠腳位狀態
virtual bool init(void) override
初始化GPIO埠
const Descriptor *const vDescriptor
GPIO埠描述結構指標
Definition CoreGeneralPort.h:96
virtual hal::digital::GeneralPort & pinToggle(uint32 port, uint32 mask) override
切換埠腳位狀態
Select
GPIO埠選擇枚舉
Definition CoreGeneralPort.h:430
物件基底類別
Definition Object.h:63
GateName
時鐘門控命名列舉
Definition GateName.h:58
Control
MCXA153 Peripheral Reset Control Identifiers.
Definition Control.h:144
@ GPIO1
GPIO 1 Reset Control.
@ PORT3
PORT 3 Reset Control.
@ PORT1
PORT 1 Reset Control.
@ GPIO2
GPIO 2 Reset Control.
@ GPIO3
GPIO 3 Reset Control.
@ PORT2
PORT 2 Reset Control.
Definition glikey/Mask.h:22
[Interface] 通用引腳埠。
Definition GeneralPort.h:41
GPIO 週邊暫存器存取層
Definition gpio/Register.h:45
PORT (Pin Multiplexing and Control) Peripheral Register Structure.
Definition port/Register.h:53
Definition CoreGeneralPort.h:77