Nordic stack and drivers for the mbed BLE API Modified for HRM1017 for library 0.1.0
Fork of nRF51822 by
GPIO abstraction
GPIO pin abstraction and port abstraction for reading and writing byte-wise to GPIO ports. More...
Enumerations | |
enum | nrf_gpio_port_dir_t { NRF_GPIO_PORT_DIR_OUTPUT, NRF_GPIO_PORT_DIR_INPUT } |
Enumerator used for setting the direction of a GPIO port. More... | |
enum | nrf_gpio_pin_dir_t { NRF_GPIO_PIN_DIR_INPUT, NRF_GPIO_PIN_DIR_OUTPUT } |
Pin direction definitions. More... | |
enum | nrf_gpio_port_select_t { NRF_GPIO_PORT_SELECT_PORT0 = 0, NRF_GPIO_PORT_SELECT_PORT1, NRF_GPIO_PORT_SELECT_PORT2, NRF_GPIO_PORT_SELECT_PORT3 } |
Enumerator used for selecting between port 0 - 3. More... | |
enum | nrf_gpio_pin_pull_t { NRF_GPIO_PIN_NOPULL = GPIO_PIN_CNF_PULL_Disabled, NRF_GPIO_PIN_PULLDOWN = GPIO_PIN_CNF_PULL_Pulldown, NRF_GPIO_PIN_PULLUP = GPIO_PIN_CNF_PULL_Pullup } |
Enumerator used for selecting the pin to be pulled down or up at the time of pin configuration. More... | |
enum | nrf_gpio_pin_sense_t { NRF_GPIO_PIN_NOSENSE = GPIO_PIN_CNF_SENSE_Disabled, NRF_GPIO_PIN_SENSE_LOW = GPIO_PIN_CNF_SENSE_Low, NRF_GPIO_PIN_SENSE_HIGH = GPIO_PIN_CNF_SENSE_High } |
Enumerator used for selecting the pin to sense high or low level on the pin input. More... | |
Functions | |
static __INLINE void | nrf_gpio_range_cfg_output (uint32_t pin_range_start, uint32_t pin_range_end) |
Function for configuring the GPIO pin range as outputs with normal drive strength. | |
static __INLINE void | nrf_gpio_range_cfg_input (uint32_t pin_range_start, uint32_t pin_range_end, nrf_gpio_pin_pull_t pull_config) |
Function for configuring the GPIO pin range as inputs with given initial value set, hiding inner details. | |
static __INLINE void | nrf_gpio_cfg_output (uint32_t pin_number) |
Function for configuring the given GPIO pin number as output with given initial value set, hiding inner details. | |
static __INLINE void | nrf_gpio_cfg_input (uint32_t pin_number, nrf_gpio_pin_pull_t pull_config) |
Function for configuring the given GPIO pin number as input with given initial value set, hiding inner details. | |
static __INLINE void | nrf_gpio_cfg_sense_input (uint32_t pin_number, nrf_gpio_pin_pull_t pull_config, nrf_gpio_pin_sense_t sense_config) |
Function for configuring the given GPIO pin number as input with given initial value set, hiding inner details. | |
static __INLINE void | nrf_gpio_pin_dir_set (uint32_t pin_number, nrf_gpio_pin_dir_t direction) |
Function for setting the direction for a GPIO pin. | |
static __INLINE void | nrf_gpio_pin_set (uint32_t pin_number) |
Function for setting a GPIO pin. | |
static __INLINE void | nrf_gpio_pin_clear (uint32_t pin_number) |
Function for clearing a GPIO pin. | |
static __INLINE void | nrf_gpio_pin_toggle (uint32_t pin_number) |
Function for toggling a GPIO pin. | |
static __INLINE void | nrf_gpio_pin_write (uint32_t pin_number, uint32_t value) |
Function for writing a value to a GPIO pin. | |
static __INLINE uint32_t | nrf_gpio_pin_read (uint32_t pin_number) |
Function for reading the input level of a GPIO pin. | |
static __INLINE void | nrf_gpio_word_byte_write (volatile uint32_t *word_address, uint8_t byte_no, uint8_t value) |
Generic function for writing a single byte of a 32 bit word at a given address. | |
static __INLINE uint8_t | nrf_gpio_word_byte_read (const volatile uint32_t *word_address, uint8_t byte_no) |
Generic function for reading a single byte of a 32 bit word at a given address. | |
static __INLINE void | nrf_gpio_port_dir_set (nrf_gpio_port_select_t port, nrf_gpio_port_dir_t dir) |
Function for setting the direction of a port. | |
static __INLINE uint8_t | nrf_gpio_port_read (nrf_gpio_port_select_t port) |
Function for reading a GPIO port. | |
static __INLINE void | nrf_gpio_port_write (nrf_gpio_port_select_t port, uint8_t value) |
Function for writing to a GPIO port. | |
static __INLINE void | nrf_gpio_port_set (nrf_gpio_port_select_t port, uint8_t set_mask) |
Function for setting individual pins on GPIO port. | |
static __INLINE void | nrf_gpio_port_clear (nrf_gpio_port_select_t port, uint8_t clr_mask) |
Function for clearing individual pins on GPIO port. |
Detailed Description
GPIO pin abstraction and port abstraction for reading and writing byte-wise to GPIO ports.
Here, the GPIO ports are defined as follows:
- Port 0 -> pin 0-7
- Port 1 -> pin 8-15
- Port 2 -> pin 16-23
- Port 3 -> pin 24-31
Enumeration Type Documentation
enum nrf_gpio_pin_dir_t |
Pin direction definitions.
Definition at line 34 of file nrf_gpio.h.
enum nrf_gpio_pin_pull_t |
Enumerator used for selecting the pin to be pulled down or up at the time of pin configuration.
- Enumerator:
NRF_GPIO_PIN_NOPULL Pin pullup resistor disabled.
NRF_GPIO_PIN_PULLDOWN Pin pulldown resistor enabled.
NRF_GPIO_PIN_PULLUP Pin pullup resistor enabled.
Definition at line 56 of file nrf_gpio.h.
enum nrf_gpio_pin_sense_t |
Enumerator used for selecting the pin to sense high or low level on the pin input.
- Enumerator:
NRF_GPIO_PIN_NOSENSE Pin sense level disabled.
NRF_GPIO_PIN_SENSE_LOW Pin sense low level.
NRF_GPIO_PIN_SENSE_HIGH Pin sense high level.
Definition at line 67 of file nrf_gpio.h.
enum nrf_gpio_port_dir_t |
Enumerator used for setting the direction of a GPIO port.
Definition at line 24 of file nrf_gpio.h.
Enumerator used for selecting between port 0 - 3.
- Enumerator:
Definition at line 44 of file nrf_gpio.h.
Function Documentation
static __INLINE void nrf_gpio_cfg_input | ( | uint32_t | pin_number, |
nrf_gpio_pin_pull_t | pull_config | ||
) | [static] |
Function for configuring the given GPIO pin number as input with given initial value set, hiding inner details.
This function can be used to configure pin range as simple input with gate driving GPIO_PIN_CNF_DRIVE_S0S1 (normal cases).
- Parameters:
-
pin_number specifies the pin number of gpio pin numbers to be configured (allowed values 0-30) pull_config State of the pin range pull resistor (no pull, pulled down or pulled high)
- Note:
- Sense capability on the pin is disabled, and input is connected to buffer so that the GPIO->IN register is readable
Definition at line 152 of file nrf_gpio.h.
static __INLINE void nrf_gpio_cfg_output | ( | uint32_t | pin_number ) | [static] |
Function for configuring the given GPIO pin number as output with given initial value set, hiding inner details.
This function can be used to configure pin range as simple input with gate driving GPIO_PIN_CNF_DRIVE_S0S1 (normal cases).
- Parameters:
-
pin_number specifies the pin number of gpio pin numbers to be configured (allowed values 0-30)
- Note:
- Sense capability on the pin is disabled, and input is disconnected from the buffer as the pins are configured as output.
Definition at line 132 of file nrf_gpio.h.
static __INLINE void nrf_gpio_cfg_sense_input | ( | uint32_t | pin_number, |
nrf_gpio_pin_pull_t | pull_config, | ||
nrf_gpio_pin_sense_t | sense_config | ||
) | [static] |
Function for configuring the given GPIO pin number as input with given initial value set, hiding inner details.
This function can be used to configure pin range as simple input with gate driving GPIO_PIN_CNF_DRIVE_S0S1 (normal cases). Sense capability on the pin is configurable, and input is connected to buffer so that the GPIO->IN register is readable.
- Parameters:
-
pin_number specifies the pin number of gpio pin numbers to be configured (allowed values 0-30). pull_config state of the pin pull resistor (no pull, pulled down or pulled high). sense_config sense level of the pin (no sense, sense low or sense high).
Definition at line 173 of file nrf_gpio.h.
static __INLINE void nrf_gpio_pin_clear | ( | uint32_t | pin_number ) | [static] |
Function for clearing a GPIO pin.
Note that the pin must be configured as an output for this function to have any effect.
- Parameters:
-
pin_number specifies the pin number [0:31] to clear.
Definition at line 231 of file nrf_gpio.h.
static __INLINE void nrf_gpio_pin_dir_set | ( | uint32_t | pin_number, |
nrf_gpio_pin_dir_t | direction | ||
) | [static] |
Function for setting the direction for a GPIO pin.
- Parameters:
-
pin_number specifies the pin number [0:31] for which to set the direction. direction specifies the direction
Definition at line 191 of file nrf_gpio.h.
static __INLINE uint32_t nrf_gpio_pin_read | ( | uint32_t | pin_number ) | [static] |
Function for reading the input level of a GPIO pin.
Note that the pin must have input connected for the value returned from this function to be valid.
- Parameters:
-
pin_number specifies the pin number [0:31] to read.
- Returns:
- Return values:
-
0 if the pin input level is low. 1 if the pin input level is high. > 1 should never occur.
Definition at line 301 of file nrf_gpio.h.
static __INLINE void nrf_gpio_pin_set | ( | uint32_t | pin_number ) | [static] |
Function for setting a GPIO pin.
Note that the pin must be configured as an output for this function to have any effect.
- Parameters:
-
pin_number specifies the pin number [0:31] to set.
Definition at line 217 of file nrf_gpio.h.
static __INLINE void nrf_gpio_pin_toggle | ( | uint32_t | pin_number ) | [static] |
Function for toggling a GPIO pin.
Note that the pin must be configured as an output for this function to have any effect.
- Parameters:
-
pin_number specifies the pin number [0:31] to toggle.
Definition at line 245 of file nrf_gpio.h.
static __INLINE void nrf_gpio_pin_write | ( | uint32_t | pin_number, |
uint32_t | value | ||
) | [static] |
Function for writing a value to a GPIO pin.
Note that the pin must be configured as an output for this function to have any effect.
- Parameters:
-
pin_number specifies the pin number [0:31] to write. value specifies the value to be written to the pin. - 0 clears the pin
- >=1 sets the pin.
Definition at line 275 of file nrf_gpio.h.
static __INLINE void nrf_gpio_port_clear | ( | nrf_gpio_port_select_t | port, |
uint8_t | clr_mask | ||
) | [static] |
Function for clearing individual pins on GPIO port.
- Parameters:
-
port is the port for which to clear the pins. clr_mask is a mask specifying which pins to clear. A bit set to 1 indicates that the corresponding port pin shall be cleared.
- See also:
- nrf_gpio_port_dir_set()
Definition at line 415 of file nrf_gpio.h.
static __INLINE void nrf_gpio_port_dir_set | ( | nrf_gpio_port_select_t | port, |
nrf_gpio_port_dir_t | dir | ||
) | [static] |
Function for setting the direction of a port.
- Parameters:
-
port is the port for which to set the direction. dir direction to be set for this port.
Definition at line 350 of file nrf_gpio.h.
static __INLINE uint8_t nrf_gpio_port_read | ( | nrf_gpio_port_select_t | port ) | [static] |
Function for reading a GPIO port.
- Parameters:
-
port is the port to read.
- Returns:
- the input value on this port.
Definition at line 369 of file nrf_gpio.h.
static __INLINE void nrf_gpio_port_set | ( | nrf_gpio_port_select_t | port, |
uint8_t | set_mask | ||
) | [static] |
Function for setting individual pins on GPIO port.
- Parameters:
-
port is the port for which to set the pins. set_mask is a mask specifying which pins to set. A bit set to 1 indicates that the corresponding port pin shall be set.
- See also:
- nrf_gpio_port_dir_set()
Definition at line 399 of file nrf_gpio.h.
static __INLINE void nrf_gpio_port_write | ( | nrf_gpio_port_select_t | port, |
uint8_t | value | ||
) | [static] |
Function for writing to a GPIO port.
- Parameters:
-
port is the port to write. value is the value to write to this port.
- See also:
- nrf_gpio_port_dir_set()
Definition at line 383 of file nrf_gpio.h.
static __INLINE void nrf_gpio_range_cfg_input | ( | uint32_t | pin_range_start, |
uint32_t | pin_range_end, | ||
nrf_gpio_pin_pull_t | pull_config | ||
) | [static] |
Function for configuring the GPIO pin range as inputs with given initial value set, hiding inner details.
This function can be used to configure pin range as simple input.
- Parameters:
-
pin_range_start specifies the start number (inclusive) in the range of pin numbers to be configured (allowed values 0-30) pin_range_end specifies the end number (inclusive) in the range of pin numbers to be configured (allowed values 0-30) pull_config State of the pin range pull resistor (no pull, pulled down or pulled high)
- Note:
- For configuring only one pin as input use nrf_gpio_cfg_input Sense capability on the pin is disabled, and input is connected to buffer so that the GPIO->IN register is readable
Definition at line 111 of file nrf_gpio.h.
static __INLINE void nrf_gpio_range_cfg_output | ( | uint32_t | pin_range_start, |
uint32_t | pin_range_end | ||
) | [static] |
Function for configuring the GPIO pin range as outputs with normal drive strength.
This function can be used to configure pin range as simple output with gate driving GPIO_PIN_CNF_DRIVE_S0S1 (normal cases).
- Parameters:
-
pin_range_start specifies the start number (inclusive) in the range of pin numbers to be configured (allowed values 0-30) pin_range_end specifies the end number (inclusive) in the range of pin numbers to be configured (allowed values 0-30)
- Note:
- For configuring only one pin as output use nrf_gpio_cfg_output Sense capability on the pin is disabled, and input is disconnected from the buffer as the pins are configured as output.
Definition at line 85 of file nrf_gpio.h.
static __INLINE uint8_t nrf_gpio_word_byte_read | ( | const volatile uint32_t * | word_address, |
uint8_t | byte_no | ||
) | [static] |
Generic function for reading a single byte of a 32 bit word at a given address.
This function should not be called from outside the nrf_gpio abstraction layer.
- Parameters:
-
word_address is the address of the word to be read. byte_no is the the byte number (0-3) of the word to be read.
- Returns:
- byte "byte_no" of word at address "word_address".
Definition at line 338 of file nrf_gpio.h.
static __INLINE void nrf_gpio_word_byte_write | ( | volatile uint32_t * | word_address, |
uint8_t | byte_no, | ||
uint8_t | value | ||
) | [static] |
Generic function for writing a single byte of a 32 bit word at a given address.
This function should not be called from outside the nrf_gpio abstraction layer.
- Parameters:
-
word_address is the address of the word to be written. byte_no is the the word byte number (0-3) to be written. value is the value to be written to byte "byte_no" of word at address "word_address"
Definition at line 320 of file nrf_gpio.h.
Generated on Tue Jul 12 2022 14:12:00 by 1.7.2