You are on page 1of 2

U20EC090

Experiment-7

Aim: Write code to lit LED on pressing of button on STM32 discovery board.
Apparatus: STM32 discovery board
Software: Keil micro vision, STlink
Code:
#include "stm32f4xx.h"
#include "stm32f4xx_hal.h"

void Init_PushButton(void);
void Init_LEDs(void);

int main(void){
    Init_PushButton();
    Init_LEDs();
   
    while(1){
        if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0))
        {
            HAL_GPIO_WritePin(GPIOD, GPIO_PIN_12|GPIO_PIN_13|
GPIO_PIN_14|GPIO_PIN_15, GPIO_PIN_SET);
        }
        else
        {
            HAL_GPIO_WritePin(GPIOD, GPIO_PIN_12|GPIO_PIN_13|
GPIO_PIN_14|GPIO_PIN_15, GPIO_PIN_RESET);
        }
    }
}

Embedded Systems Laboratory, ECED, SVNIT, Surat 1


U20EC090

void Init_PushButton(void)
{
    __HAL_RCC_GPIOA_CLK_ENABLE();
    GPIO_InitTypeDef pushbutton;
    pushbutton.Pin = GPIO_PIN_0;
    pushbutton.Mode = GPIO_MODE_INPUT;
    pushbutton.Pull = GPIO_NOPULL;
    HAL_GPIO_Init(GPIOA,&pushbutton);
}

void Init_LEDs()
{
    __HAL_RCC_GPIOD_CLK_ENABLE();
    GPIO_InitTypeDef pinleds;
    pinleds.Pin = GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|
GPIO_PIN_15;
    pinleds.Mode = GPIO_MODE_OUTPUT_PP;
    HAL_GPIO_Init(GPIOD,&pinleds);
}

Embedded Systems Laboratory, ECED, SVNIT, Surat 2

You might also like