Data Structures | |
| struct | XMC_GPIO_CONFIG_t |
| struct | XMC_GPIO_PORT_t |
Enumerations | |
| enum | XMC_GPIO_HWCTRL_t |
| enum | XMC_GPIO_MODE_t |
| enum | XMC_GPIO_OUTPUT_LEVEL_t |
| enum | XMC_GPIO_OUTPUT_STRENGTH_t |
Functions | |
| void | XMC_GPIO_DisableDigitalInput (XMC_GPIO_PORT_t *const port, const uint8_t pin) |
| void | XMC_GPIO_DisablePowerSaveMode (XMC_GPIO_PORT_t *const port, const uint8_t pin) |
| void | XMC_GPIO_EnableDigitalInput (XMC_GPIO_PORT_t *const port, const uint8_t pin) |
| void | XMC_GPIO_EnablePowerSaveMode (XMC_GPIO_PORT_t *const port, const uint8_t pin) |
| uint32_t | XMC_GPIO_GetInput (XMC_GPIO_PORT_t *const port, const uint8_t pin) |
| void | XMC_GPIO_Init (XMC_GPIO_PORT_t *const port, const uint8_t pin, const XMC_GPIO_CONFIG_t *const config) |
| void | XMC_GPIO_SetHardwareControl (XMC_GPIO_PORT_t *const port, const uint8_t pin, const XMC_GPIO_HWCTRL_t hwctrl) |
| void | XMC_GPIO_SetMode (XMC_GPIO_PORT_t *const port, const uint8_t pin, const XMC_GPIO_MODE_t mode) |
| void | XMC_GPIO_SetOutputHigh (XMC_GPIO_PORT_t *const port, const uint8_t pin) |
| void | XMC_GPIO_SetOutputLevel (XMC_GPIO_PORT_t *const port, const uint8_t pin, const XMC_GPIO_OUTPUT_LEVEL_t level) |
| void | XMC_GPIO_SetOutputLow (XMC_GPIO_PORT_t *const port, const uint8_t pin) |
| void | XMC_GPIO_SetOutputStrength (XMC_GPIO_PORT_t *const port, const uint8_t pin, XMC_GPIO_OUTPUT_STRENGTH_t strength) |
| void | XMC_GPIO_ToggleOutput (XMC_GPIO_PORT_t *const port, const uint8_t pin) |
GPIO driver provide a generic and very flexible software interface for all standard digital I/O port pins. Each port slice has individual interfaces for the operation as General Purpose I/O and it further provides the connectivity to the on-chip periphery and the control for the pad characteristics.
The driver is divided into Input and Output mode.
Input mode features:
Output mode features:
| enum XMC_GPIO_HWCTRL_t |
Defines direct hardware control characteristics of the pin . Use type XMC_GPIO_HWCTRL_t for this enum.
| enum XMC_GPIO_MODE_t |
Defines the direction and characteristics of a pin. Use type XMC_GPIO_MODE_t for this enum. For the operation with alternate functions, the port pins are directly connected to input or output functions of the on-chip periphery.
Defines output strength and slew rate of a pin. Use type XMC_GPIO_OUTPUT_STRENGTH_t for this enum.
| void XMC_GPIO_DisableDigitalInput | ( | XMC_GPIO_PORT_t *const | port, |
| const uint8_t | pin | ||
| ) |
| port | constant pointer pointing to GPIO port, to access hardware register Pn_PDISC. |
| pin | port pin number. |
| void XMC_GPIO_DisablePowerSaveMode | ( | XMC_GPIO_PORT_t *const | port, |
| const uint8_t | pin | ||
| ) |
| port | constant pointer pointing to GPIO port, to access hardware register Pn_PPS. |
| pin | port pin number. |
| void XMC_GPIO_EnableDigitalInput | ( | XMC_GPIO_PORT_t *const | port, |
| const uint8_t | pin | ||
| ) |
| port | constant pointer pointing to GPIO port, to access hardware register Pn_PDISC. |
| pin | port pin number. |
| void XMC_GPIO_EnablePowerSaveMode | ( | XMC_GPIO_PORT_t *const | port, |
| const uint8_t | pin | ||
| ) |
| port | constant pointer pointing to GPIO port, to access hardware register Pn_PPS. |
| pin | port pin number. |
Note:
Do not enable the Pin Power Save function for pins configured for Hardware Control (Pn_HWSEL.HWx != 00B). Doing so may result in an undefined behavior of the pin when the device enters the Deep Sleep state.
| uint32_t XMC_GPIO_GetInput | ( | XMC_GPIO_PORT_t *const | port, |
| const uint8_t | pin | ||
| ) |
| port | constant pointer pointing to GPIO port, to access hardware register Pn_IN. |
| pin | Port pin number. |
| void XMC_GPIO_Init | ( | XMC_GPIO_PORT_t *const | port, |
| const uint8_t | pin, | ||
| const XMC_GPIO_CONFIG_t *const | config | ||
| ) |
| port | Constant pointer pointing to GPIO port, to access port registers like Pn_OUT,Pn_OMR,Pn_IOCR etc. |
| pin | Port pin number. |
| config | GPIO configuration data structure. Refer data structure XMC_GPIO_CONFIG_t for details. |
| void XMC_GPIO_SetHardwareControl | ( | XMC_GPIO_PORT_t *const | port, |
| const uint8_t | pin, | ||
| const XMC_GPIO_HWCTRL_t | hwctrl | ||
| ) |
| port | constant pointer pointing to GPIO port, to access hardware register Pn_HWSEL. |
| pin | port pin number. |
| hwctrl | direct hardware control selection. Refer XMC_GPIO_HWCTRL_t for valid values. |
| void XMC_GPIO_SetMode | ( | XMC_GPIO_PORT_t *const | port, |
| const uint8_t | pin, | ||
| const XMC_GPIO_MODE_t | mode | ||
| ) |
| port | Constant pointer pointing to GPIO port, to access hardware register Pn_IOCR. |
| pin | Port pin number. |
| mode | input / output functionality selection. Refer XMC_GPIO_MODE_t for valid values. |
| void XMC_GPIO_SetOutputHigh | ( | XMC_GPIO_PORT_t *const | port, |
| const uint8_t | pin | ||
| ) |
| port | constant pointer pointing to GPIO port, to access hardware register Pn_OMR. |
| pin | Port pin number. |
| void XMC_GPIO_SetOutputLevel | ( | XMC_GPIO_PORT_t *const | port, |
| const uint8_t | pin, | ||
| const XMC_GPIO_OUTPUT_LEVEL_t | level | ||
| ) |
| port | Constant pointer pointing to GPIO port, to access hardware register Pn_OMR. |
| pin | Port pin number. |
| level | output level selection. Refer XMC_GPIO_OUTPUT_LEVEL_t for valid values. |
| void XMC_GPIO_SetOutputLow | ( | XMC_GPIO_PORT_t *const | port, |
| const uint8_t | pin | ||
| ) |
| port | constant pointer pointing to GPIO port, to access hardware register Pn_OMR. |
| pin | port pin number. |
| void XMC_GPIO_SetOutputStrength | ( | XMC_GPIO_PORT_t *const | port, |
| const uint8_t | pin, | ||
| XMC_GPIO_OUTPUT_STRENGTH_t | strength | ||
| ) |
| port | constant pointer pointing to GPIO port, to access hardware register Pn_PDR. |
| pin | Port pin number. |
| strength | Output driver mode selection. Refer data structure XMC_GPIO_OUTPUT_STRENGTH_t for details. |
| void XMC_GPIO_ToggleOutput | ( | XMC_GPIO_PORT_t *const | port, |
| const uint8_t | pin | ||
| ) |
| port | constant pointer pointing to GPIO port, to access hardware register Pn_OMR. |
| pin | port pin number. |