drv-gpio.c (3060B)
1 #include "drv-gpio.h" 2 3 void res_gpio_setup(void) { 4 rcc_periph_clock_enable(RCC_GPIOA); 5 rcc_periph_clock_enable(RCC_GPIOB); 6 rcc_periph_clock_enable(RCC_GPIOC); 7 rcc_periph_clock_enable(RCC_GPIOD); 8 rcc_periph_clock_enable(RCC_GPIOE); 9 rcc_periph_clock_enable(RCC_GPIOF); 10 rcc_periph_clock_enable(RCC_GPIOG); 11 12 gpio_mode_setup(ST_LED0_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, ST_LED0_PIN); 13 gpio_mode_setup(ST_LED1_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, ST_LED1_PIN); 14 gpio_mode_setup(ST_LED2_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, ST_LED2_PIN); 15 gpio_mode_setup(ST_LED3_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, ST_LED3_PIN); 16 17 gpio_mode_setup(CH0_LED0_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, CH0_LED0_PIN); 18 gpio_mode_setup(CH0_LED1_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, CH0_LED1_PIN); 19 gpio_mode_setup(CH1_LED0_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, CH1_LED0_PIN); 20 gpio_mode_setup(CH1_LED1_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, CH1_LED1_PIN); 21 gpio_mode_setup(CH2_LED0_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, CH2_LED0_PIN); 22 gpio_mode_setup(CH2_LED1_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, CH2_LED1_PIN); 23 gpio_mode_setup(CH3_LED0_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, CH3_LED0_PIN); 24 gpio_mode_setup(CH3_LED1_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, CH3_LED1_PIN); 25 gpio_mode_setup(CH4_LED0_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, CH4_LED0_PIN); 26 gpio_mode_setup(CH4_LED1_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, CH4_LED1_PIN); 27 gpio_mode_setup(CH5_LED0_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, CH5_LED0_PIN); 28 gpio_mode_setup(CH5_LED1_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, CH5_LED1_PIN); 29 gpio_mode_setup(CH6_LED0_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, CH6_LED0_PIN); 30 gpio_mode_setup(CH6_LED1_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, CH6_LED1_PIN); 31 gpio_mode_setup(CH7_LED0_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, CH7_LED0_PIN); 32 gpio_mode_setup(CH7_LED1_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, CH7_LED1_PIN); 33 34 gpio_mode_setup(DBG0_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, DBG0_PIN); 35 gpio_mode_setup(ACTIVE_CH0_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, ACTIVE_CH0_PIN); 36 gpio_mode_setup(ACTIVE_CH1_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, ACTIVE_CH1_PIN); 37 gpio_mode_setup(ACTIVE_CH2_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, ACTIVE_CH2_PIN); 38 gpio_mode_setup(ACTIVE_CH3_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, ACTIVE_CH3_PIN); 39 gpio_mode_setup(ACTIVE_CH4_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, ACTIVE_CH4_PIN); 40 gpio_mode_setup(ACTIVE_CH5_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, ACTIVE_CH5_PIN); 41 gpio_mode_setup(ACTIVE_CH6_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, ACTIVE_CH6_PIN); 42 gpio_mode_setup(ACTIVE_CH7_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, ACTIVE_CH7_PIN); 43 44 gpio_mode_setup(MUX_IN_A_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, 45 MUX_IN_A_PIN | MUX_IN_B_PIN | MUX_IN_C_PIN); 46 } 47 48 void res_gpio_write_pin(uint32_t port, uint16_t pin, bool value) { 49 (value == true) ? gpio_set(port, pin) : gpio_clear(port, pin); 50 }