| | |
| | | |
| | | /* |
| | | *+----------------------+ |
| | | *| STM32 GPIO API | |
| | | *+----------------------+ |
| | | */ |
| | | |
| | | void gpio_clk_enable(GPIO_TypeDef *port) |
| | | { |
| | | if (port == GPIOA) __HAL_RCC_GPIOA_CLK_ENABLE(); |
| | | else if (port == GPIOB) __HAL_RCC_GPIOB_CLK_ENABLE(); |
| | | else if (port == GPIOC) __HAL_RCC_GPIOC_CLK_ENABLE(); |
| | | else if (port == GPIOD) __HAL_RCC_GPIOD_CLK_ENABLE(); |
| | | #ifdef GPIOE |
| | | else if (port == GPIOE) __HAL_RCC_GPIOE_CLK_ENABLE(); |
| | | #endif |
| | | #ifdef GPIOF |
| | | else if (port == GPIOF) __HAL_RCC_GPIOF_CLK_ENABLE(); |
| | | #endif |
| | | #ifdef GPIOG |
| | | else if (port == GPIOG) __HAL_RCC_GPIOG_CLK_ENABLE(); |
| | | #endif |
| | | #ifdef GPIOH |
| | | else if (port == GPIOH) __HAL_RCC_GPIOH_CLK_ENABLE(); |
| | | #endif |
| | | } |
| | | |
| | | |
| | | /* |
| | | *+----------------------+ |
| | | *| GPIO Led/Relay API | |
| | | *+----------------------+ |
| | | */ |
| | |
| | | if( which >= LedMax ) |
| | | return ; |
| | | |
| | | level = status==OFF ? GPIO_PIN_SET : GPIO_PIN_RESET; |
| | | level = status==ON ? leds[which].active : !leds[which].active; |
| | | HAL_GPIO_WritePin(leds[which].group, leds[which].pin, level); |
| | | } |
| | | |
| | |
| | | void blink_led(int which, uint32_t interval) |
| | | { |
| | | turn_led(which, ON); |
| | | HAL_Delay(interval); |
| | | mdelay(interval); |
| | | |
| | | turn_led(which, OFF); |
| | | HAL_Delay(interval); |
| | | mdelay(interval); |
| | | } |
| | | |
| | | /** |