/* * Gpio.c * * Created on: 2024Äê4ÔÂ17ÈÕ * Author: tang */ #include /*! * @brief Get the position of the bit set in the GPIO_Pin * @param GPIO_Pin: specifies the port bit to be written. * This parameter can be one of GPIO_PIN_x where x can be (0..15). * All port bits are not necessarily available on all GPIOs. * @retval the position of the bit */ uint8_t GpioGetBitPos( uint16_t GPIO_Pin ) { uint8_t pinPos = 0u; if ( ( GPIO_Pin & 0xFF00u ) != 0u ){ pinPos |= 0x8u; } if ( ( GPIO_Pin & 0xF0F0u ) != 0u ){ pinPos |= 0x4u; } if ( ( GPIO_Pin & 0xCCCCu ) != 0u ){ pinPos |= 0x2u; } if ( ( GPIO_Pin & 0xAAAAu ) != 0u ){ pinPos |= 0x1u; } return pinPos; }