This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CSL_GpioBank_registersRegs

Hello,
as I am currently writing an abstraction for your GPIO-Implementation on top of the MCU+ SDK,
I am trying to understand the CSL_GpioBank_registersRegs structure.

As far as I understand the structure, this symbolizes a gpio-bank. And the specific pin can be accessed by applying the bitmask returned by GPIO_GET_BIT_MASK(pinNum).
In my naive thought process I would have imagined that a single 32Bit register for reading and writing would suffice for the bank.
But it seems that the registers for reading and writing are separated.
There is SET_DATA for setting the logic level to high, CLR_DATA for setting it to low, IN_DATA for reading, and the rest for interrupt handling.
But what is OUT_DATA?
The function GPIO_pinOutValueRead says

"This API determines the output logic level(value) on a specified
 *          GPIO pin."

My first guess wouold be that again this is separated for the case where the pin is set as output pin and the case where it is set as input pin.
So, am I correct to assume that when I write the logic level to the pin when it is set as output pin using SET_DATA or CLR_DATA, then that logic level could afterwards be verified reading from OUT_DATA?
Thank you for your time and trouble.


Best regards

Philip.