BSP430  20141115
Board Support Package for MSP430 microcontrollers
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Data Fields
sBSP430halPORT Struct Reference

#include <bsp430/periph/port.h>

Data Fields

sBSP430hplHALStatePrefix hal_state
 
union {
   volatile void *   any
 
   volatile sBSP430hplPORT_IE_8 *   port_ie_8
 
   volatile sBSP430hplPORT_8 *   port_8
 
   volatile sBSP430hplPORT_16 *   port_16
 
   volatile sBSP430hplPORT_5XX_8 *   port_5xx_8
 
   volatile sBSP430hplPORT_5XX_16 *   port_5xx_16
 
   volatile sBSP430hplPORTIE *   portie
 
   volatile sBSP430hplPORT *   port
 
   volatile sBSP430hplPORTW *   portw
 
hpl
 
const struct sBSP430halISRIndexedChainNode *volatile pin_cbchain_ni [8]
 
volatile unsigned char *const renp
 
volatile unsigned char *const sel2p
 

Detailed Description

Structure holding hardware abstraction layer state for digital I/O ports.

Examples:
bootstrap/applpm/main.c, bootstrap/button/main.c, rf/cc110x/main.c, and sensors/hh10d/main.c.

Field Documentation

volatile void* sBSP430halPORT::any

Access to the HPL pointer ignoring its underlying type

Examples:
rf/cc110x/main.c.
sBSP430hplHALStatePrefix sBSP430halPORT::hal_state

Common header used to extract the correct HPL pointer type from the hpl union.

union { ... } sBSP430halPORT::hpl

Allow the HAL state to be independent of the underlying HPL layout.

In practice, a valid pointer here will be compatible with either port or portie, both in the case of the 5xx port peripheral where a single layout is used. Use BSP430_PERIPH_HAL_STATE_CFLAGS_VARIANT() to introspect a HAL instance to determine which pointer is appropriate.

Examples:
rf/cc110x/main.c.
const struct sBSP430halISRIndexedChainNode* volatile sBSP430halPORT::pin_cbchain_ni[8]

Callbacks invoked when the HAL ISR handler receives an event for the corresponding bit of the port.

Examples:
bootstrap/applpm/main.c, and bootstrap/button/main.c.
volatile sBSP430hplPORT* sBSP430halPORT::port

Access to the HPL pointer as a MCU-dependent port not supporting interrupts

volatile sBSP430hplPORT_16* sBSP430halPORT::port_16

Access to the HPL pointer as a pre-5xx 16-bit port not supporting interrupts

volatile sBSP430hplPORT_5XX_16* sBSP430halPORT::port_5xx_16

Access to the HPL pointer as a 5xx 16-bit port

volatile sBSP430hplPORT_5XX_8* sBSP430halPORT::port_5xx_8

Access to the HPL pointer as a 5xx 8-bit port

volatile sBSP430hplPORT_8* sBSP430halPORT::port_8

Access to the HPL pointer as a pre-5xx 8-bit port not supporting interrupts

volatile sBSP430hplPORT_IE_8* sBSP430halPORT::port_ie_8

Access to the HPL pointer as a pre-5xx 8-bit interrupt-enabled port

volatile sBSP430hplPORTIE* sBSP430halPORT::portie

Access to the HPL pointer as a MCU-dependent interrupt-enabled port

volatile sBSP430hplPORTW* sBSP430halPORT::portw

Access to the HPL pointer as a MCU-dependent word-access port

volatile unsigned char* const sBSP430halPORT::renp

Pointer to the resistor enable register for this peripheral.

On 2xx/4xx MCUs where this register exists, it is outside the normal register area. In 5xx ports this feature is available in the HPL structure.

Dependency:
Only on non-5xx MCUs that support REN
volatile unsigned char* const sBSP430halPORT::sel2p

Pointer to the secondary selection register for this peripheral.

On 2xx/4xx MCUs where this register exists, it is outside the normal register area. In 5xx ports this feature is available in the HPL structure.

Dependency:
Only on non-5xx MCUs that support SEL2

The documentation for this struct was generated from the following file: