Пример #1
0
/**
* \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;
}
Пример #2
0
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;
}
Пример #3
0
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);
}