Aim: To Interface a Digital Input (userpush button ) to ARM development board and write a program to obtain the data and flash the led
The full form of an ARM is an advanced reduced instruction set computer (RISC) machine, and it is a 32-bit processor architecture expanded by ARM holdings. The applications of an ARM processor include several microcontrollers as well as processors. The architecture of an ARM processor was licensed by many corporations for designing ARM processor-based SoC products and CPUs. This allows the corporations to manufacture their products using ARM architecture. Likewise, all main semiconductor companies will make ARM-based SOCs such as Samsung, Atmel, TI etc.
-
select the target to be programmed as shown below and click on next
6.select the appropriate pins as gipo, in or out, USART or required options and configure
7.click on cntrl+S , automaticall C program will be generated
8. edit the program and as per required
-
connect the ARM board to power supply and usb
-
check for execution of the output using run option
#include "main.h"
#include "stdbool.h"
bool button_status;
void push_button();
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
int main(void)
{
HAL_Init();
while (1)
{
push_button();
}
}
void push_button()
{
button_status=HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13);
if (button_status==0)
{
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET);
HAL_Delay(5000);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_RESET);
HAL_Delay(5000);
}
else
{
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_RESET);
}
}
LED Off
![image](https://private-user-images.githubusercontent.com/121033192/262549175-a796cca6-69ab-43bb-a070-4cc344787a01.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxNzA0ODgsIm5iZiI6MTcyMjE3MDE4OCwicGF0aCI6Ii8xMjEwMzMxOTIvMjYyNTQ5MTc1LWE3OTZjY2E2LTY5YWItNDNiYi1hMDcwLTRjYzM0NDc4N2EwMS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyOFQxMjM2MjhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lMzdiNWRiNjc3MjJhZTcxZjNhODI0MmE1MmRlMGRlMzA1MjRmOWUxNzBkNDFlZjIzY2I0NGYxNjBhZTU0ZTI2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.Tk8WxuZRr9G-wm61bZTVZur10ipx3h65ulc9hBB-fl8)
LED ON
![image](https://private-user-images.githubusercontent.com/121033192/262549232-c84f3e0c-5d90-47aa-a9a8-f2356c9dab76.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxNzA0ODgsIm5iZiI6MTcyMjE3MDE4OCwicGF0aCI6Ii8xMjEwMzMxOTIvMjYyNTQ5MjMyLWM4NGYzZTBjLTVkOTAtNDdhYS1hOWE4LWYyMzU2YzlkYWI3Ni5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyOFQxMjM2MjhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05ODA2ZDI1MTFmZGUxMWQwZTEwNmU5NTRhNWIyOGY1YWJmNzE1MTM4NTNmMWEwNTk1YzM4NGEwOTQ3OTNjYzliJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.7-YdfFR1RWyVb_T0kdncRLGOBVIrbwTTYgGtO-Y3oWA)
LED OFF
![image](https://private-user-images.githubusercontent.com/121033192/262549299-9910438b-27f9-4394-ad5a-4892d23f8174.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxNzA0ODgsIm5iZiI6MTcyMjE3MDE4OCwicGF0aCI6Ii8xMjEwMzMxOTIvMjYyNTQ5Mjk5LTk5MTA0MzhiLTI3ZjktNDM5NC1hZDVhLTQ4OTJkMjNmODE3NC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyOFQxMjM2MjhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xNThkOGFkMTIxOTZkMDM4N2JiMGEwMWZhMjExMDQzMTMyNDRlZGFkMWVjMzg1NDFlMGU2YWIxYmFhMzdjZjk0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.6EtAOsC4hsnGUiLfecQDLGx_dfgUDWDgRLt181cMU10)
Interfacing a digital Input (Pushbutton ) with ARM microcontroller based IOT development is executed and the results are verified.