36_Static_assert((
sizeof(
struct GPIORegs)) == (
sizeof(uint32_t) * 10U),
37 "GPIO register struct size mismatch. Is it aligned?");
41 (struct GPIORegs *)(GPIOA_BASE + (0x400U * ((uint8_t)bank - (uint8_t)'A')))
43extern struct GPIORegs *GPIO(
const uint8_t bank);
52 GP_BANK_A = (uint8_t)
'A',
55 GP_BANK_B = (uint8_t)
'B',
58 GP_BANK_C = (uint8_t)
'C',
61 GP_BANK_D = (uint8_t)
'D',
64 GP_BANK_E = (uint8_t)
'E',
67 GP_BANK_F = (uint8_t)
'F',
70 GP_BANK_G = (uint8_t)
'G',
73 GP_BANK_H = (uint8_t)
'H',
76 GP_BANK_I = (uint8_t)
'I',
79 GP_BANK_J = (uint8_t)
'J',
82 GP_BANK_K = (uint8_t)
'K',
Defines used commonly in most files.
gp_pupd
Available GPIO pull states.
Definition gpio.h:118
void gp_set_output_type(const gp_bank_t bank, const uint8_t pin, const gp_otype_t type)
Sets the GPIO output pin to the desired type.
Definition gpio.c:87
enum gp_dir gp_dir_t
Available GPIO modes.
enum gp_speed gp_speed_t
Available GPIO output speeds.
void gp_set_val(const gp_bank_t bank, const uint8_t pin, const _Bool value)
Sets the GPIO output pin to the desired value.
Definition gpio.c:157
uint8_t gp_read_val(const gp_bank_t bank, const uint8_t pin)
Reads the GPIO input pin value.
Definition gpio.c:169
enum gp_pupd gp_pupd_t
Available GPIO pull states.
gp_bank
Available GPIO peripherals.
Definition gpio.h:50
void gp_set_direction(const gp_bank_t bank, const uint8_t pin, const gp_dir_t dir)
Sets the GPIO pin to the desired mode.
Definition gpio.c:61
void gp_set_pupd(const gp_bank_t bank, const uint8_t pin, const gp_pupd_t poopdr)
Sets the GPIO input pin to the desired state.
Definition gpio.c:132
gp_speed
Available GPIO output speeds.
Definition gpio.h:108
enum gp_otype gp_otype_t
Available GPIO output types.
gp_otype
Available GPIO output types.
Definition gpio.h:100
gp_dir
Available GPIO modes.
Definition gpio.h:90
enum gp_bank gp_bank_t
Available GPIO peripherals.
void gp_set_speed(const gp_bank_t bank, const uint8_t pin, const gp_speed_t speed)
Sets the GPIO output pin to the desired speed.
Definition gpio.c:106
void gp_set_af(const gp_bank_t bank, const uint8_t pin, const uint8_t af)
Sets the alternate function of the GPIO pin.
Definition gpio.c:178
CMSIS device header stubs.
Contains GPIO registers.
Definition gpio.h:24