STM32 Blue Pill Drivers
Drivers that could be used to interface and interact with STM32F103C8T6 Microcontroller
Loading...
Searching...
No Matches
GPIO Module

GPIO Module. More...

+ Collaboration diagram for GPIO Module:

Modules

 GPIO Registers
 GPIO Registers.
 
 GPIO Addresses
 GPIO Addresses.
 
 GPIO Pins Constants
 GPIO Pins Constants.
 

Macros

#define DEFAULT_PIN_INPUT_TYPE   (GPIO_Input_Type_Pull_Down)
 The default input type for the GPIO pins. More...
 
#define DEFAULT_PIN_OUTPUT_TYPE   (GPIO_Output_Type_Push_Pull)
 The default output type for the GPIO pins. More...
 

Enumerations

enum  t_GPIO_Ports {
  GPIO_Ports_A = 0 , GPIO_Ports_B , GPIO_Ports_C , GPIO_Ports_D ,
  GPIO_Ports_E , GPIO_Ports_F , GPIO_Ports_G
}
 GPIO Ports. More...
 
enum  t_GPIO_Pins {
  GPIO_Pins_0 = 0 , GPIO_Pins_1 , GPIO_Pins_2 , GPIO_Pins_3 ,
  GPIO_Pins_4 , GPIO_Pins_5 , GPIO_Pins_6 , GPIO_Pins_7 ,
  GPIO_Pins_8 , GPIO_Pins_9 , GPIO_Pins_10 , GPIO_Pins_11 ,
  GPIO_Pins_12 , GPIO_Pins_13 , GPIO_Pins_14 , GPIO_Pins_15
}
 GPIO Pins. More...
 
enum  t_GPIO_Direction { GPIO_Direction_Input = 0 , GPIO_Direction_Output_10MHz , GPIO_Direction_Output_2MHz , GPIO_Direction_Output_50MHz }
 GPIO Direction. More...
 
enum  t_GPIO_Output_Type { GPIO_Output_Type_Push_Pull = 0 , GPIO_Output_Type_Open_Drain , GPIO_Output_Type_Alternate_Push_Pull , GPIO_Output_Type_Alternate_Open_Drain }
 GPIO Output Type. More...
 
enum  t_GPIO_Input_Type { GPIO_Input_Type_Analog = 0 , GPIO_Input_Type_Floating , GPIO_Input_Type_Pull_Down , GPIO_Input_Type_Pull_Up }
 GPIO Input Type. More...
 
enum  t_GPIO_Value { GPIO_Value_Low = 0 , GPIO_Value_High }
 GPIO Pin Value. More...
 

Functions

void GPIO_vSetPinDirection (t_GPIO_Ports tPort, t_GPIO_Pins tPin, t_GPIO_Direction tDirection)
 This function is used to set the direction of a GPIO pin. More...
 
void GPIO_vSetPinInputType (t_GPIO_Ports tPort, t_GPIO_Pins tPin, t_GPIO_Input_Type tInputType)
 This function is used to set the input type of a GPIO pin. More...
 
void GPIO_vSetPinOutputType (t_GPIO_Ports tPort, t_GPIO_Pins tPin, t_GPIO_Output_Type tOutputType)
 This function is used to set the output type of a GPIO pin. More...
 
void GPIO_vSetPinValue (t_GPIO_Ports tPort, t_GPIO_Pins tPin, t_GPIO_Value tValue)
 This function is used to set the value of a GPIO pin. More...
 
t_GPIO_Value GPIO_tGetPinValue (t_GPIO_Ports tPort, t_GPIO_Pins tPin)
 This function is used to get the value of a GPIO pin. More...
 

Detailed Description

GPIO Module.

This module contains all the APIs related to the GPIO module

Macro Definition Documentation

◆ DEFAULT_PIN_INPUT_TYPE

#define DEFAULT_PIN_INPUT_TYPE   (GPIO_Input_Type_Pull_Down)

#include <MCAL/GPIO/GPIO_config.h>

The default input type for the GPIO pins.

This macro defines the default input type for the GPIO pins

◆ DEFAULT_PIN_OUTPUT_TYPE

#define DEFAULT_PIN_OUTPUT_TYPE   (GPIO_Output_Type_Push_Pull)

#include <MCAL/GPIO/GPIO_config.h>

The default output type for the GPIO pins.

This macro defines the default output type for the GPIO pins

Enumeration Type Documentation

◆ t_GPIO_Ports

#include <MCAL/GPIO/GPIO_interface.h>

GPIO Ports.

This type is used to select a GPIO port

Enumerator
GPIO_Ports_A 

GPIO Port A.

GPIO_Ports_B 

GPIO Port B.

GPIO_Ports_C 

GPIO Port C.

GPIO_Ports_D 

GPIO Port D.

GPIO_Ports_E 

GPIO Port E.

GPIO_Ports_F 

GPIO Port F.

GPIO_Ports_G 

GPIO Port G.

29{
33 GPIO_Ports_A = 0,
t_GPIO_Ports
GPIO Ports.
Definition: GPIO_interface.h:29
@ GPIO_Ports_E
GPIO Port E.
Definition: GPIO_interface.h:49
@ GPIO_Ports_A
GPIO Port A.
Definition: GPIO_interface.h:33
@ GPIO_Ports_D
GPIO Port D.
Definition: GPIO_interface.h:45
@ GPIO_Ports_G
GPIO Port G.
Definition: GPIO_interface.h:57
@ GPIO_Ports_F
GPIO Port F.
Definition: GPIO_interface.h:53
@ GPIO_Ports_C
GPIO Port C.
Definition: GPIO_interface.h:41
@ GPIO_Ports_B
GPIO Port B.
Definition: GPIO_interface.h:37

◆ t_GPIO_Pins

#include <MCAL/GPIO/GPIO_interface.h>

GPIO Pins.

This type is used to select a GPIO pin

Enumerator
GPIO_Pins_0 

GPIO Pin 0.

GPIO_Pins_1 

GPIO Pin 1.

GPIO_Pins_2 

GPIO Pin 2.

GPIO_Pins_3 

GPIO Pin 3.

GPIO_Pins_4 

GPIO Pin 4.

GPIO_Pins_5 

GPIO Pin 5.

GPIO_Pins_6 

GPIO Pin 6.

GPIO_Pins_7 

GPIO Pin 7.

GPIO_Pins_8 

GPIO Pin 8.

GPIO_Pins_9 

GPIO Pin 9.

GPIO_Pins_10 

GPIO Pin 10.

GPIO_Pins_11 

GPIO Pin 11.

GPIO_Pins_12 

GPIO Pin 12.

GPIO_Pins_13 

GPIO Pin 13.

GPIO_Pins_14 

GPIO Pin 14.

GPIO_Pins_15 

GPIO Pin 15.

66{
70 GPIO_Pins_0 = 0,
t_GPIO_Pins
GPIO Pins.
Definition: GPIO_interface.h:66
@ GPIO_Pins_8
GPIO Pin 8.
Definition: GPIO_interface.h:102
@ GPIO_Pins_2
GPIO Pin 2.
Definition: GPIO_interface.h:78
@ GPIO_Pins_11
GPIO Pin 11.
Definition: GPIO_interface.h:114
@ GPIO_Pins_4
GPIO Pin 4.
Definition: GPIO_interface.h:86
@ GPIO_Pins_6
GPIO Pin 6.
Definition: GPIO_interface.h:94
@ GPIO_Pins_9
GPIO Pin 9.
Definition: GPIO_interface.h:106
@ GPIO_Pins_13
GPIO Pin 13.
Definition: GPIO_interface.h:122
@ GPIO_Pins_15
GPIO Pin 15.
Definition: GPIO_interface.h:130
@ GPIO_Pins_1
GPIO Pin 1.
Definition: GPIO_interface.h:74
@ GPIO_Pins_3
GPIO Pin 3.
Definition: GPIO_interface.h:82
@ GPIO_Pins_14
GPIO Pin 14.
Definition: GPIO_interface.h:126
@ GPIO_Pins_12
GPIO Pin 12.
Definition: GPIO_interface.h:118
@ GPIO_Pins_0
GPIO Pin 0.
Definition: GPIO_interface.h:70
@ GPIO_Pins_7
GPIO Pin 7.
Definition: GPIO_interface.h:98
@ GPIO_Pins_10
GPIO Pin 10.
Definition: GPIO_interface.h:110
@ GPIO_Pins_5
GPIO Pin 5.
Definition: GPIO_interface.h:90

◆ t_GPIO_Direction

#include <MCAL/GPIO/GPIO_interface.h>

GPIO Direction.

This type is used to select a GPIO pin direction

Enumerator
GPIO_Direction_Input 

GPIO Pin Input.

GPIO_Direction_Output_10MHz 

GPIO Pin Output with max speed of 10 MHz.

GPIO_Direction_Output_2MHz 

GPIO Pin Output with max speed of 2 MHz.

GPIO_Direction_Output_50MHz 

GPIO Pin Output with max speed of 50 MHz.

139{
t_GPIO_Direction
GPIO Direction.
Definition: GPIO_interface.h:139
@ GPIO_Direction_Output_10MHz
GPIO Pin Output with max speed of 10 MHz.
Definition: GPIO_interface.h:147
@ GPIO_Direction_Output_2MHz
GPIO Pin Output with max speed of 2 MHz.
Definition: GPIO_interface.h:151
@ GPIO_Direction_Output_50MHz
GPIO Pin Output with max speed of 50 MHz.
Definition: GPIO_interface.h:155
@ GPIO_Direction_Input
GPIO Pin Input.
Definition: GPIO_interface.h:143

◆ t_GPIO_Output_Type

#include <MCAL/GPIO/GPIO_interface.h>

GPIO Output Type.

This type is used to select a GPIO pin output type

Enumerator
GPIO_Output_Type_Push_Pull 

GPIO Pin Output Type: push-pull.

GPIO_Output_Type_Open_Drain 

GPIO Pin Output Type: open-drain.

GPIO_Output_Type_Alternate_Push_Pull 

GPIO Pin Output Type: alternate push-pull.

GPIO_Output_Type_Alternate_Open_Drain 

GPIO Pin Output Type: alternate open-drain.

164{
t_GPIO_Output_Type
GPIO Output Type.
Definition: GPIO_interface.h:164
@ GPIO_Output_Type_Push_Pull
GPIO Pin Output Type: push-pull.
Definition: GPIO_interface.h:168
@ GPIO_Output_Type_Alternate_Push_Pull
GPIO Pin Output Type: alternate push-pull.
Definition: GPIO_interface.h:176
@ GPIO_Output_Type_Open_Drain
GPIO Pin Output Type: open-drain.
Definition: GPIO_interface.h:172
@ GPIO_Output_Type_Alternate_Open_Drain
GPIO Pin Output Type: alternate open-drain.
Definition: GPIO_interface.h:180

◆ t_GPIO_Input_Type

#include <MCAL/GPIO/GPIO_interface.h>

GPIO Input Type.

This type is used to select a GPIO pin input type

Enumerator
GPIO_Input_Type_Analog 

GPIO Pin Input Type: Analog.

GPIO_Input_Type_Floating 

GPIO Pin Input Type: Floating.

GPIO_Input_Type_Pull_Down 

GPIO Pin Input Type: Pull-Down.

GPIO_Input_Type_Pull_Up 

GPIO Pin Input Type: Pull-Up.

189{
t_GPIO_Input_Type
GPIO Input Type.
Definition: GPIO_interface.h:189
@ GPIO_Input_Type_Floating
GPIO Pin Input Type: Floating.
Definition: GPIO_interface.h:197
@ GPIO_Input_Type_Pull_Down
GPIO Pin Input Type: Pull-Down.
Definition: GPIO_interface.h:201
@ GPIO_Input_Type_Analog
GPIO Pin Input Type: Analog.
Definition: GPIO_interface.h:193
@ GPIO_Input_Type_Pull_Up
GPIO Pin Input Type: Pull-Up.
Definition: GPIO_interface.h:205

◆ t_GPIO_Value

#include <MCAL/GPIO/GPIO_interface.h>

GPIO Pin Value.

This type is used to select a GPIO pin value

Enumerator
GPIO_Value_Low 

GPIO Pin Value: LOW (0)

GPIO_Value_High 

GPIO Pin Value: HIGH (1)

214{
218 GPIO_Value_Low = 0,
t_GPIO_Value
GPIO Pin Value.
Definition: GPIO_interface.h:214
@ GPIO_Value_Low
GPIO Pin Value: LOW (0)
Definition: GPIO_interface.h:218
@ GPIO_Value_High
GPIO Pin Value: HIGH (1)
Definition: GPIO_interface.h:222

Function Documentation

◆ GPIO_vSetPinDirection()

void GPIO_vSetPinDirection ( t_GPIO_Ports  tPort,
t_GPIO_Pins  tPin,
t_GPIO_Direction  tDirection 
)

#include <MCAL/GPIO/GPIO_interface.h>

This function is used to set the direction of a GPIO pin.

This function is used to set the direction of a GPIO pin

Parameters
[in]tPortThe GPIO port
[in]tPinThe GPIO pin
[in]tDirectionThe GPIO pin direction
See also
t_GPIO_Ports t_GPIO_Pins t_GPIO_Direction
104{
105 /* Get the pin span (the number of bits to shift to reach the target pin mode and configuration bits) */
106 t_u8 u8PinSpan = GPIO_vGetPinSpan(tPin);
107 /* Store the base address of the GPIO port */
109 pu32PortBaseAddress = (P2VAR(t_GPIOx_RegisterMap))NULL;
110 /* Store the pin mode and configuration bits of the pin */
111 P2VAR(t_u32)
112 pu32TargetPinModeConfig = (P2VAR(t_u32))NULL;
113
114 /* Get the base address of the GPIO port */
115 GPIO_vGetPortAddress(tPort, &pu32PortBaseAddress);
116 /* Get the pin mode and configuration bits of the pin */
117 pu32TargetPinModeConfig = IS_PIN_IN_LOW_REGISTER(tPin) ? &pu32PortBaseAddress->CRL : &pu32PortBaseAddress->CRH;
118 /* Set the mode and configuration bits of the pin */
119 *pu32TargetPinModeConfig = (*pu32TargetPinModeConfig & PIN_RESET_MASK(u8PinSpan)) | (tDirection << u8PinSpan);
120
121 /* Set the pull-up/pull-down resistor */
122 if (tDirection == GPIO_Direction_Input)
123 {
125 }
126 else
127 {
129 }
130}
static void GPIO_vGetPortAddress(t_GPIO_Ports tPort, t_GPIOx_RegisterMap **ppu32PortBaseAddress)
This function gets the base address of a GPIO port.
Definition: GPIO_program.c:32
static t_u8 GPIO_vGetPinSpan(t_GPIO_Pins tPin)
This function gets the pin span.
Definition: GPIO_program.c:73
#define IS_PIN_IN_LOW_REGISTER(GPIO_PIN)
Check if the pin is in the low register.
Definition: GPIO_program.c:24
#define P2VAR(ptrtype)
Declare a pointer-to-variable with the specified type.
Definition: LSTD_COMPILER.h:46
unsigned int t_u32
Type definition for 32-bit unsigned int.
Definition: LSTD_TYPES.h:64
unsigned char t_u8
Type definition for 8-bit unsigned INT.
Definition: LSTD_TYPES.h:34
#define NULL
Type definition for NULL.
Definition: LSTD_VALUES.h:42
#define DEFAULT_PIN_INPUT_TYPE
The default input type for the GPIO pins.
Definition: GPIO_config.h:30
#define DEFAULT_PIN_OUTPUT_TYPE
The default output type for the GPIO pins.
Definition: GPIO_config.h:37
void GPIO_vSetPinOutputType(t_GPIO_Ports tPort, t_GPIO_Pins tPin, t_GPIO_Output_Type tOutputType)
This function is used to set the output type of a GPIO pin.
Definition: GPIO_program.c:155
void GPIO_vSetPinInputType(t_GPIO_Ports tPort, t_GPIO_Pins tPin, t_GPIO_Input_Type tInputType)
This function is used to set the input type of a GPIO pin.
Definition: GPIO_program.c:132
#define PIN_RESET_MASK(GPIO_PIN_SPAN)
Pin Reset Mask.
Definition: GPIO_private.h:223
GPIO Register Map.
Definition: GPIO_private.h:46

References DEFAULT_PIN_INPUT_TYPE, DEFAULT_PIN_OUTPUT_TYPE, GPIO_Direction_Input, GPIO_vGetPinSpan(), GPIO_vGetPortAddress(), GPIO_vSetPinInputType(), GPIO_vSetPinOutputType(), IS_PIN_IN_LOW_REGISTER, NULL, P2VAR, and PIN_RESET_MASK.

Referenced by vTestApp_TestingGPIO_main().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GPIO_vSetPinInputType()

void GPIO_vSetPinInputType ( t_GPIO_Ports  tPort,
t_GPIO_Pins  tPin,
t_GPIO_Input_Type  tInputType 
)

#include <MCAL/GPIO/GPIO_interface.h>

This function is used to set the input type of a GPIO pin.

This function is used to set the input type of a GPIO pin

Parameters
[in]tPortThe GPIO port
[in]tPinThe GPIO pin
[in]tInputTypeThe GPIO pin input type
See also
t_GPIO_Ports t_GPIO_Pins t_GPIO_Input_Type
133{
134 /* Get the pin span (the number of bits to shift to reach the target pin mode and configuration bits) */
135 t_u8 u8PinSpan = GPIO_vGetPinSpan(tPin);
136 /* Check if the input type is pull-up or pull-down */
137 t_GPIO_Input_Type u8PinInputTypeModeConfigurations = (tInputType == GPIO_Input_Type_Pull_Up) ? GPIO_Input_Type_Pull_Down : tInputType;
138 /* Store the base address of the GPIO port */
140 pu32PortBaseAddress = (P2VAR(t_GPIOx_RegisterMap))NULL;
141 /* Store the pin mode and configuration bits of the pin */
142 P2VAR(t_u32)
143 pu32TargetPinModeConfig = (P2VAR(t_u32))NULL;
144
145 /* Get the base address of the GPIO port */
146 GPIO_vGetPortAddress(tPort, &pu32PortBaseAddress);
147 /* Get the pin mode and configuration bits of the pin */
148 pu32TargetPinModeConfig = IS_PIN_IN_LOW_REGISTER(tPin) ? &pu32PortBaseAddress->CRL : &pu32PortBaseAddress->CRH;
149 /* Set the mode and configuration bits of the pin */
150 *pu32TargetPinModeConfig = (*pu32TargetPinModeConfig & PIN_RESET_CONFIGURATIONS_MASK(u8PinSpan)) | (u8PinInputTypeModeConfigurations << (u8PinSpan + PIN_CONFIGURATION_BITS_SHIFT_VALUE));
151 /* Set the pull-up/pull-down resistor */
152 GPIO_vSetPinInputTypePullUpDown(pu32PortBaseAddress, tPin, tInputType);
153}
static void GPIO_vSetPinInputTypePullUpDown(t_GPIOx_RegisterMap *pu32PortBaseAddress, t_GPIO_Pins tPin, t_GPIO_Input_Type tInputType)
This function is used to set the pin input type.
Definition: GPIO_program.c:87
#define PIN_CONFIGURATION_BITS_SHIFT_VALUE
Pin Mode Bits Shift Value.
Definition: GPIO_private.h:208
#define PIN_RESET_CONFIGURATIONS_MASK(GPIO_PIN_SPAN)
Pin Reset Configurations Mask.
Definition: GPIO_private.h:231

References GPIO_Input_Type_Pull_Down, GPIO_Input_Type_Pull_Up, GPIO_vGetPinSpan(), GPIO_vGetPortAddress(), GPIO_vSetPinInputTypePullUpDown(), IS_PIN_IN_LOW_REGISTER, NULL, P2VAR, PIN_CONFIGURATION_BITS_SHIFT_VALUE, and PIN_RESET_CONFIGURATIONS_MASK.

Referenced by GPIO_vSetPinDirection(), and vTestApp_TestingGPIO_main().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GPIO_vSetPinOutputType()

void GPIO_vSetPinOutputType ( t_GPIO_Ports  tPort,
t_GPIO_Pins  tPin,
t_GPIO_Output_Type  tOutputType 
)

#include <MCAL/GPIO/GPIO_interface.h>

This function is used to set the output type of a GPIO pin.

This function is used to set the output type of a GPIO pin

Parameters
[in]tPortThe GPIO port
[in]tPinThe GPIO pin
[in]tOutputTypeThe GPIO pin output type
See also
t_GPIO_Ports t_GPIO_Pins t_GPIO_Output_Type
156{
157 /* Get the pin span (the number of bits to shift to reach the target pin mode and configuration bits) */
158 t_u8 u8PinSpan = GPIO_vGetPinSpan(tPin);
159 /* Store the base address of the GPIO port */
161 pu32PortBaseAddress = (P2VAR(t_GPIOx_RegisterMap))NULL;
162 /* Store the pin mode and configuration bits of the pin */
163 P2VAR(t_u32)
164 pu32TargetPinModeConfig = (P2VAR(t_u32))NULL;
165
166 /* Get the base address of the GPIO port */
167 GPIO_vGetPortAddress(tPort, &pu32PortBaseAddress);
168 /* Get the pin mode and configuration bits of the pin */
169 pu32TargetPinModeConfig = IS_PIN_IN_LOW_REGISTER(tPin) ? &pu32PortBaseAddress->CRL : &pu32PortBaseAddress->CRH;
170 /* Set the mode and configuration bits of the pin */
171 *pu32TargetPinModeConfig = (*pu32TargetPinModeConfig & PIN_RESET_CONFIGURATIONS_MASK(u8PinSpan)) | (t_u32)(tOutputType << (u8PinSpan + PIN_CONFIGURATION_BITS_SHIFT_VALUE));
172}

References GPIO_vGetPinSpan(), GPIO_vGetPortAddress(), IS_PIN_IN_LOW_REGISTER, NULL, P2VAR, PIN_CONFIGURATION_BITS_SHIFT_VALUE, and PIN_RESET_CONFIGURATIONS_MASK.

Referenced by GPIO_vSetPinDirection().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GPIO_vSetPinValue()

void GPIO_vSetPinValue ( t_GPIO_Ports  tPort,
t_GPIO_Pins  tPin,
t_GPIO_Value  tValue 
)

#include <MCAL/GPIO/GPIO_interface.h>

This function is used to set the value of a GPIO pin.

This function is used to set the value of a GPIO pin

Parameters
[in]tPortThe GPIO port
[in]tPinThe GPIO pin
[in]tValueThe GPIO pin value
See also
t_GPIO_Ports t_GPIO_Pins t_GPIO_Value
175{
176 /* Get the pin location (the number of bits to shift to reach the target pin) */
177 t_u32 u32PinLocation = tPin;
178 /* Store the base address of the GPIO port */
180 pu32PortBaseAddress = (P2VAR(t_GPIOx_RegisterMap))NULL;
181
182 /* Get the base address of the GPIO port */
183 GPIO_vGetPortAddress(tPort, &pu32PortBaseAddress);
184
185 if (tValue == GPIO_Value_Low)
186 {
187 u32PinLocation += PIN_RESET_SHIFT_VALUE;
188 }
189 else
190 {
191 /* Do nothing */
192 }
193
194 /* Set the value of the pin */
195 pu32PortBaseAddress->BSRR = (t_u32)(TRUE << u32PinLocation);
196}
#define TRUE
Type definition for TRUE.
Definition: LSTD_VALUES.h:30
#define PIN_RESET_SHIFT_VALUE
Pin Reset Shift Value.
Definition: GPIO_private.h:215

References GPIO_Value_Low, GPIO_vGetPortAddress(), NULL, P2VAR, PIN_RESET_SHIFT_VALUE, and TRUE.

Referenced by vTestApp_TestingGPIO_main().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GPIO_tGetPinValue()

t_GPIO_Value GPIO_tGetPinValue ( t_GPIO_Ports  tPort,
t_GPIO_Pins  tPin 
)

#include <MCAL/GPIO/GPIO_interface.h>

This function is used to get the value of a GPIO pin.

This function is used to get the value of a GPIO pin

Parameters
[in]tPortThe GPIO port
[in]tPinThe GPIO pin
Returns
The GPIO pin value
See also
t_GPIO_Ports t_GPIO_Pins t_GPIO_Value
199{
200 /* Store the base address of the GPIO port */
202 pu32PortBaseAddress = (P2VAR(t_GPIOx_RegisterMap))NULL;
203
204 /* Get the base address of the GPIO port */
205 GPIO_vGetPortAddress(tPort, &pu32PortBaseAddress);
206
207 /* Get the value of the pin */
208 return (t_GPIO_Value)((pu32PortBaseAddress->IDR >> tPin) & TRUE);
209}

References GPIO_vGetPortAddress(), NULL, P2VAR, and TRUE.

Referenced by vTestApp_TestingGPIO_main().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: