MyTetra Share
Делитесь знаниями!
LEDs and Button
Время создания: 06.01.2018 14:04
Раздел: Electronics - Microcontrollers - STM32 - HAL

В кьюбе выставляем порты:

PH0 - RCC_OSC_IN

PH1 - RCC_OSC_OUT

PA0 - GPIO_Input (button)

PD12 - GPIO_Output (led1)

PD13 - GPIO_Output (led2)

PD14 - GPIO_Output (led3)

PD15 - GPIO_Output (led4)


В закладке Clock Configuration выставляем тактирование в пределах допустимого, включив HSE (PLL Source Mux), PLLCLK (System Clock Mux).

SYSCLK = 168;

HCLK = 168;

APB1 Prescaler = 4;

APB2 Prescaler = 2.


Генерируем код и добавляем обработку кнопки.


/* USER CODE BEGIN WHILE */

while (1)

{

/* USER CODE END WHILE */


/* USER CODE BEGIN 3 */

if(!HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0))

{

HAL_GPIO_TogglePin (GPIOD, GPIO_PIN_12);

HAL_Delay(500);

HAL_GPIO_TogglePin (GPIOD, GPIO_PIN_12);

HAL_GPIO_TogglePin (GPIOD, GPIO_PIN_13);

HAL_Delay(500);

HAL_GPIO_TogglePin (GPIOD, GPIO_PIN_13);

HAL_GPIO_TogglePin (GPIOD, GPIO_PIN_14);

HAL_Delay(500);

HAL_GPIO_TogglePin (GPIOD, GPIO_PIN_14);

HAL_GPIO_TogglePin (GPIOD, GPIO_PIN_15);

HAL_Delay(500);

HAL_GPIO_TogglePin (GPIOD, GPIO_PIN_15);

}

else

{

HAL_GPIO_WritePin(GPIOD, GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15, GPIO_PIN_RESET);

}

}

/* USER CODE END 3 */

 
MyTetra Share v.0.53
Яндекс индекс цитирования