/*FUNCTION********************************************************************** * * Function Name : GPIO_DRV_ReadPinInput * Description : Read current input value of individual GPIO pin. * *END**************************************************************************/ uint32_t GPIO_DRV_ReadPinInput(uint32_t pinName) { uint32_t gpioBaseAddr = g_gpioBaseAddr[GPIO_EXTRACT_PORT(pinName)]; uint32_t pin = GPIO_EXTRACT_PIN(pinName); return GPIO_HAL_ReadPinInput(gpioBaseAddr, pin); }
void GPIO_Test_for_TE(void) { if(sys_gpio_test) { sys_gpio_test = 0; GPIO_HAL_SetPinDir(PTA, 4, kGpioDigitalOutput); // INT1 pin GPIO_HAL_SetPinDir(PTB, 5, kGpioDigitalInput); // INT2 pin PORT_HAL_SetMuxMode(PORTB,3u,kPortMuxAsGpio); PORT_HAL_SetMuxMode(PORTB,4u,kPortMuxAsGpio); GPIO_HAL_SetPinDir(PTB, 3, kGpioDigitalOutput); // SCL pin GPIO_HAL_SetPinDir(PTB, 4, kGpioDigitalOutput); // SDA pin while(1) { if(GPIO_HAL_ReadPinInput(PTB, 5)) { GPIO_HAL_ClearPinOutput(PTA, 4); // INT1 set low GPIO_HAL_SetPinOutput(PTB, 3); // SCL set high GPIO_HAL_ClearPinOutput(PTB, 4); // SDA set low } else { GPIO_HAL_SetPinOutput(PTA, 4); // INT1 set high GPIO_HAL_ClearPinOutput(PTB, 3); // SCL set low GPIO_HAL_SetPinOutput(PTB, 4); // SDA set high } delay_ms(100); } } }
/*FUNCTION********************************************************************** * * Function Name : GPIO_DRV_ReadPinInput * Description : Read current input value of individual GPIO pin. * *END**************************************************************************/ uint32_t GPIO_DRV_ReadPinInput(uint32_t pinName) { GPIO_Type * gpioBase = g_gpioBase[GPIO_EXTRACT_PORT(pinName)]; uint32_t pin = GPIO_EXTRACT_PIN(pinName); return GPIO_HAL_ReadPinInput(gpioBase, pin); }
__LINK_C bool hw_gpio_get_in(pin_id_t pin_id) { return GPIO_HAL_ReadPinInput(GPIO_BASE(pin_id.port), pin_id.pin); }