/** * \brief Initialize the sensor ports of the EV3 by setting the correct pin-multiplexing configuration * * \return none **/ void sensor_init(void) { unsigned int i; for (i = 0; i < sizeof(ports) / sizeof(ports[0]); ++i) { gpio_init_inpin(ports[i].pin1); gpio_init_inpin(ports[i].pin2); gpio_init_outpin(ports[i].pin5); gpio_init_pin(ports[i].pin6); gpio_init_pin(ports[i].buffer); } /* Disable Pull-Up/Pull-Down Resistors */ *((volatile unsigned int*)(SOC_SYSCFG_1_REGS + 0x0C)) &= ~0xFFFFFFFF; }
sensor_init (void) { unsigned int i; for (i = 0; i < sizeof(ports) / sizeof(ports[0]); ++i) { gpio_init_inpin(ports[i].pin1); gpio_init_inpin(ports[i].pin2); gpio_init_outpin(ports[i].pin5); gpio_init_pin(ports[i].pin6); gpio_init_pin(ports[i].buffer); } // disable pull-dpwn *((volatile unsigned int*)(SYSCFG1_BASE + 0x0C)) &= ~0xFFFFFFFF; }
void gpio_set (unsigned int pin, unsigned int value) { gpio_init_outpin(pin); *((volatile unsigned int*)(GPIO_BANK(pin) + 8 + (!value) * 4)) = GPIO_MASK(pin); }