![]() |
MCUXpresso SDK API Reference Manual
Rev. 0
NXP Semiconductors
|
This driver configures the PORT, including function mux, filter, pull up or down, and so on.
Enumerations | |
enum | port_module_t { kPORT_NMI = SIM_SOPT0_NMIE_SHIFT, kPORT_RESET = SIM_SOPT0_RSTPE_SHIFT, kPORT_SWDE = SIM_SOPT0_SWDE_SHIFT, kPORT_IRQ = (SIM_PINSEL0_IRQPS_SHIFT | (3 << PORT_MODULEPS_BITWIDTH_OFFSET)), kPORT_RTC = (SIM_PINSEL0_RTCPS_SHIFT | (1 << PORT_MODULEPS_BITWIDTH_OFFSET)), kPORT_I2C0 = (SIM_PINSEL0_I2C0PS_SHIFT | (1 << PORT_MODULEPS_BITWIDTH_OFFSET)), kPORT_SPI0 = (SIM_PINSEL0_SPI0PS_SHIFT | (1 << PORT_MODULEPS_BITWIDTH_OFFSET)), kPORT_UART0 = (SIM_PINSEL0_UART0PS_SHIFT | (1 << PORT_MODULEPS_BITWIDTH_OFFSET)), kPORT_FTM0CH0 = (SIM_PINSEL0_FTM0PS0_SHIFT | (1 << PORT_MODULEPS_BITWIDTH_OFFSET)), kPORT_FTM0CH1 = (SIM_PINSEL0_FTM0PS1_SHIFT | (1 << PORT_MODULEPS_BITWIDTH_OFFSET)), kPORT_FTM1CH0 = (SIM_PINSEL0_FTM1PS0_SHIFT | (1 << PORT_MODULEPS_BITWIDTH_OFFSET)), kPORT_FTM1CH1 = (SIM_PINSEL0_FTM1PS1_SHIFT | (1 << PORT_MODULEPS_BITWIDTH_OFFSET)), kPORT_FTM0CLK = (SIM_PINSEL0_FTM0CLKPS_SHIFT | (2 << PORT_MODULEPS_BITWIDTH_OFFSET)), kPORT_FTM1CLK = (SIM_PINSEL0_FTM1CLKPS_SHIFT | (2 << PORT_MODULEPS_BITWIDTH_OFFSET)), kPORT_FTM2CLK = (SIM_PINSEL0_FTM2CLKPS_SHIFT | (2 << PORT_MODULEPS_BITWIDTH_OFFSET)), kPORT_PWTCLK = (SIM_PINSEL0_PWTCLKPS_SHIFT | (2 << PORT_MODULEPS_BITWIDTH_OFFSET)), kPORT_FTM2CH0 = (SIM_PINSEL1_FTM2PS0_SHIFT | (2 << PORT_MODULEPS_BITWIDTH_OFFSET) | PORT_PINSEL_REG_OFFSET), kPORT_FTM2CH1 = (SIM_PINSEL1_FTM2PS1_SHIFT | (2 << PORT_MODULEPS_BITWIDTH_OFFSET) | PORT_PINSEL_REG_OFFSET), kPORT_FTM2CH2 = (SIM_PINSEL1_FTM2PS2_SHIFT | (2 << PORT_MODULEPS_BITWIDTH_OFFSET) | PORT_PINSEL_REG_OFFSET), kPORT_FTM2CH3 = (SIM_PINSEL1_FTM2PS3_SHIFT | (2 << PORT_MODULEPS_BITWIDTH_OFFSET) | PORT_PINSEL_REG_OFFSET), kPORT_FTM2CH4 = (SIM_PINSEL1_FTM2PS4_SHIFT | (1 << PORT_MODULEPS_BITWIDTH_OFFSET) | PORT_PINSEL_REG_OFFSET), kPORT_FTM2CH5 = (SIM_PINSEL1_FTM2PS5_SHIFT | (1 << PORT_MODULEPS_BITWIDTH_OFFSET) | PORT_PINSEL_REG_OFFSET), kPORT_I2C1 = (SIM_PINSEL1_I2C1PS_SHIFT | (1 << PORT_MODULEPS_BITWIDTH_OFFSET) | PORT_PINSEL_REG_OFFSET), kPORT_SPI1 = (SIM_PINSEL1_SPI1PS_SHIFT | (1 << PORT_MODULEPS_BITWIDTH_OFFSET) | PORT_PINSEL_REG_OFFSET), kPORT_UART1 = (SIM_PINSEL1_UART1PS_SHIFT | (1 << PORT_MODULEPS_BITWIDTH_OFFSET) | PORT_PINSEL_REG_OFFSET), kPORT_UART2 = (SIM_PINSEL1_UART2PS_SHIFT | (1 << PORT_MODULEPS_BITWIDTH_OFFSET) | PORT_PINSEL_REG_OFFSET), kPORT_PWTIN0 = (SIM_PINSEL1_PWTIN0PS_SHIFT | (1 << PORT_MODULEPS_BITWIDTH_OFFSET) | PORT_PINSEL_REG_OFFSET), kPORT_PWTIN1 = (SIM_PINSEL1_PWTIN1PS_SHIFT | (1 << PORT_MODULEPS_BITWIDTH_OFFSET) | PORT_PINSEL_REG_OFFSET), kPORT_MSCAN = (SIM_PINSEL1_MSCANPS_SHIFT | (1 << PORT_MODULEPS_BITWIDTH_OFFSET) | PORT_PINSEL_REG_OFFSET) } |
Module or peripheral for port pin selection. More... | |
enum | port_type_t { kPORT_PTA = 0U, kPORT_PTB = 1U, kPORT_PTC = 2U, kPORT_PTD = 3U, kPORT_PTE = 4U, kPORT_PTF = 5U, kPORT_PTG = 6U, kPORT_PTH = 7U, kPORT_PTI = 8U } |
Port type. More... | |
enum | port_pin_index_t { kPORT_PinIdx0 = 0U, kPORT_PinIdx1 = 1U, kPORT_PinIdx2 = 2U, kPORT_PinIdx3 = 3U, kPORT_PinIdx4 = 4U, kPORT_PinIdx5 = 5U, kPORT_PinIdx6 = 6U, kPORT_PinIdx7 = 7U } |
Pin number, Notice this index enum has been deprecated and it will be removed in the next release. More... | |
enum | port_pin_select_t { kPORT_NMI_OTHERS = 0U, kPORT_NMI_NMIE = 1U, kPORT_RST_OTHERS = 0U, kPORT_RST_RSTPE = 1U, kPORT_SWDE_OTHERS = 0U, kPORT_SWDE_SWDE = 1U, kPORT_IRQ_PTA5 = 0U, kPORT_IRQ_PTI0 = 1U, kPORT_IRQ_PTI1 = 2U, kPORT_IRQ_PTI2 = 3U, kPORT_IRQ_PTI3 = 4U, kPORT_IRQ_PTI4 = 5U, kPORT_IRQ_PTI5 = 6U, kPORT_IRQ_PTI6 = 7U, kPORT_RTCO_PTC4 = 0U, kPORT_RTCO_PTC5 = 1U, kPORT_I2C0_SCLPTA3_SDAPTA2 = 0U, kPORT_I2C0_SCLPTB7_SDAPTB6 = 1U, kPORT_SPI0_SCKPTB2_MOSIPTB3_MISOPTB4_PCSPTB5 = 0U, kPORT_SPI0_SCKPTE0_MOSIPTE1_MISOPTE2_PCSPTE3, kPORT_UART0_RXPTB0_TXPTB1 = 0U, kPORT_UART0_RXPTA2_TXPTA3 = 1U, kPORT_FTM0_CH0_PTA0 = 0U, kPORT_FTM0_CH0_PTB2 = 1U, kPORT_FTM0_CH1_PTA1 = 0U, kPORT_FTM0_CH1_PTB3 = 1U, kPORT_FTM0CLK_TCLK0 = 0U, kPORT_FTM0CLK_TCLK1 = 1U, kPORT_FTM0CLK_TCLK2 = 2U, kPORT_FTM1CLK_TCLK0 = 0U, kPORT_FTM1CLK_TCLK1 = 1U, kPORT_FTM1CLK_TCLK2 = 2U, kPORT_FTM2CLK_TCLK0 = 0U, kPORT_FTM2CLK_TCLK1 = 1U, kPORT_FTM2CLK_TCLK2 = 2U, kPORT_PWTCLK_TCLK0 = 0U, kPORT_PWTCLK_TCLK1 = 1U, kPORT_PWTCLK_TCLK2 = 2U, kPORT_FTM1_CH0_PTC4 = 0U, kPORT_FTM1_CH0_PTH2 = 1U, kPORT_FTM1_CH1_PTC5 = 0U, kPORT_FTM1_CH1_PTE7 = 1U, kPORT_FTM2_CH0_PTC0 = 0U, kPORT_FTM2_CH0_PTH0 = 1U, kPORT_FTM2_CH0_PTF0 = 2U, kPORT_FTM2_CH1_PTC1 = 0U, kPORT_FTM2_CH1_PTH1 = 1U, kPORT_FTM2_CH1_PTF1 = 2U, kPORT_FTM2_CH2_PTC2 = 0U, kPORT_FTM2_CH2_PTD0 = 1U, kPORT_FTM2_CH2_PTG4 = 2U, kPORT_FTM2_CH3_PTC3 = 0U, kPORT_FTM2_CH3_PTD1 = 1U, kPORT_FTM2_CH3_PTG5 = 2U, kPORT_FTM2_CH4_PTB4 = 0U, kPORT_FTM2_CH4_PTG6 = 1U, kPORT_FTM2_CH5_PTB5 = 0U, kPORT_FTM2_CH5_PTG7 = 1U, kPORT_I2C1_SCLPTE1_SDAPTE0 = 0U, kPORT_I2C1_SCLPTH4_SDAPTH3 = 1U, kPORT_SPI1_SCKPTD0_MOSIPTD1_MISOPTD2_PCSPTD3 = 0U, kPORT_SPI1_SCKPTG4_MOSIPTG5_MISOPTG6_PCSPTG7, kPORT_UART1_RXPTC7_TXPTC6 = 0U, kPORT_UART1_RXPTF3_TXPTF2 = 1U, kPORT_UART2_RXPTD7_TXPTD6 = 0U, kPORT_UART2_RXPTI1_TXPTI0 = 1U, kPORT_PWTIN0_PTD5 = 0U, kPORT_PWTIN0_PTE2 = 1U, kPORT_PWTIN1_PTB0 = 0U, kPORT_PWTIN1_PTH7 = 1U, kPORT_MSCAN_TXPTC7_RXPTC6 = 0U, kPORT_MSCAN_TXPTE7_RXPTH2 = 1U } |
Pin selection. More... | |
enum | port_filter_pin_t { kPORT_FilterPTA = PORT_IOFLT0_FLTA_SHIFT, kPORT_FilterPTB = PORT_IOFLT0_FLTB_SHIFT, kPORT_FilterPTC = PORT_IOFLT0_FLTC_SHIFT, kPORT_FilterPTD = PORT_IOFLT0_FLTD_SHIFT, kPORT_FilterPTE = PORT_IOFLT0_FLTE_SHIFT, kPORT_FilterPTF = PORT_IOFLT0_FLTF_SHIFT, kPORT_FilterPTG = PORT_IOFLT0_FLTG_SHIFT, kPORT_FilterPTH = PORT_IOFLT0_FLTH_SHIFT, kPORT_FilterRST = PORT_IOFLT0_FLTRST_SHIFT, kPORT_FilterKBI0 = PORT_IOFLT0_FLTKBI0_SHIFT, kPORT_FilterKBI1 = PORT_IOFLT0_FLTKBI1_SHIFT, kPORT_FilterNMI = PORT_IOFLT0_FLTNMI_SHIFT, kPORT_FilterPTI = PORT_IOFLT1_FLTI_SHIFT + PORT_FILTER_REG_OFFSET, kPORT_FilterIRQ = PORT_IOFLT1_FLTIRQ_SHIFT + PORT_FILTER_REG_OFFSET, kPORT_FilterFTM0 = PORT_IOFLT1_FLTFTM0_SHIFT + PORT_FILTER_REG_OFFSET, kPORT_FilterFTM1 = PORT_IOFLT1_FLTFTM1_SHIFT + PORT_FILTER_REG_OFFSET, kPORT_FilterPWT = PORT_IOFLT1_FLTPWT_SHIFT + PORT_FILTER_REG_OFFSET, kPORT_FilterI2C0 = PORT_IOFLT1_FLTI2C0_SHIFT + PORT_FILTER_REG_OFFSET, kPORT_FilterI2C1 = PORT_IOFLT1_FLTI2C1_SHIFT + PORT_FILTER_REG_OFFSET } |
The PORT pins for input glitch filter configure. More... | |
enum | port_filter_select_t { kPORT_BUSCLK_OR_NOFILTER = 0U, kPORT_FILTERDIV1 = 1U, kPORT_FILTERDIV2 = 2U, kPORT_FILTERDIV3_OR_BUSCLK = 3U } |
The Filter selection for input pins. More... | |
enum | port_highdrive_pin_t { kPORT_HighDrive_PTB4 = PORT_HDRVE_PTB4_MASK, kPORT_HighDrive_PTB5 = PORT_HDRVE_PTB5_MASK, kPORT_HighDrive_PTD0 = PORT_HDRVE_PTD0_MASK, kPORT_HighDrive_PTD1 = PORT_HDRVE_PTD1_MASK, kPORT_HighDrive_PTE0 = PORT_HDRVE_PTE0_MASK, kPORT_HighDrive_PTE1 = PORT_HDRVE_PTE1_MASK, kPORT_HighDrive_PTH0 = PORT_HDRVE_PTH0_MASK, kPORT_HighDrive_PTH1 = PORT_HDRVE_PTH1_MASK } |
Port pin for high driver enable/disable control. More... | |
Driver version | |
#define | FSL_PORT_DRIVER_VERSION (MAKE_VERSION(2, 0, 3)) |
Version 2.0.3. More... | |
Configuration | |
void | PORT_SetPinSelect (port_module_t module, port_pin_select_t pin) |
Selects pin for modules. More... | |
void | PORT_SetFilterSelect (PORT_Type *base, port_filter_pin_t port, port_filter_select_t filter) |
Selects the glitch filter for input pins. More... | |
static void | PORT_SetFilterDIV1WidthThreshold (PORT_Type *base, uint8_t threshold) |
Sets the width threshold for glitch filter division set 1. More... | |
static void | PORT_SetFilterDIV2WidthThreshold (PORT_Type *base, uint8_t threshold) |
Sets the width threshold for glitch filter division set 2. More... | |
static void | PORT_SetFilterDIV3WidthThreshold (PORT_Type *base, uint8_t threshold) |
Sets the width threshold for glitch filter division set 3. More... | |
void | PORT_SetPinPullUpEnable (PORT_Type *base, port_type_t port, uint8_t num, bool enable) |
Enables or disables the port pull up. More... | |
static void | PORT_SetHighDriveEnable (PORT_Type *base, port_highdrive_pin_t pin, bool enable) |
Set High drive for port pins. More... | |
#define FSL_PORT_DRIVER_VERSION (MAKE_VERSION(2, 0, 3)) |
enum port_module_t |
enum port_type_t |
enum port_pin_index_t |
enum port_pin_select_t |
enum port_filter_pin_t |
enum port_filter_select_t |
enum port_highdrive_pin_t |
void PORT_SetPinSelect | ( | port_module_t | module, |
port_pin_select_t | pin | ||
) |
This API is used to select the port pin for the module with multiple port pin selection. For example the FTM Channel 0 can be mapped to ether PTA0 or PTB2. Select FTM channel 0 map to PTA0 port pin as:
If you want to select a specified ALT for a given port pin, please add two more steps after calling PORT_SetPinSelect:
module | Modules for pin selection. For NMI/RST module are write-once attribute after reset. |
pin | Port pin selection for modules. |
void PORT_SetFilterSelect | ( | PORT_Type * | base, |
port_filter_pin_t | port, | ||
port_filter_select_t | filter | ||
) |
base | PORT peripheral base pointer. |
port | PORT pin, see "port_filter_pin_t". |
filter | Filter select, see "port_filter_select_t". |
|
inlinestatic |
`
base | PORT peripheral base pointer. |
threshold | PORT glitch filter width threshold, take refer to reference manual for detail information. 0 - LPOCLK 1 - LPOCLK/2 2 - LPOCLK/4 3 - LPOCLK/8 4 - LPOCLK/16 5 - LPOCLK/32 6 - LPOCLK/64 7 - LPOCLK/128 |
|
inlinestatic |
`
base | PORT peripheral base pointer. |
threshold | PORT glitch filter width threshold, take refer to reference manual for detail information. 0 - BUSCLK/32 1 - BUSCLK/64 2 - BUSCLK/128 3 - BUSCLK/256 4 - BUSCLK/512 5 - BUSCLK/1024 6 - BUSCLK/2048 7 - BUSCLK/4096 |
|
inlinestatic |
`
base | PORT peripheral base pointer. |
threshold | PORT glitch filter width threshold, take refer to reference manual for detail information. 0 - BUSCLK/2 1 - BUSCLK/4 2 - BUSCLK/8 3 - BUSCLK/16 |
void PORT_SetPinPullUpEnable | ( | PORT_Type * | base, |
port_type_t | port, | ||
uint8_t | num, | ||
bool | enable | ||
) |
base | PORT peripheral base pointer. |
port | PORT type, such as PTA/PTB/PTC etc, see "port_type_t". |
num | PORT pin number, such as 0, 1, 2... For PTI, only PTI0 ~ PTI6 pins are supported. so when set pull up feature for PTI, please don't set number 7. see reference manual for more details. |
enable | Enable or disable the pull up feature switch. |
|
inlinestatic |
base | PORT peripheral base pointer. |
pin | PORT pin support high drive. |
enable | Enable or disable the high driver feature switch. |