Esempio n. 1
0
/*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);
}
Esempio n. 2
0
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);
}