2024-09-16 10:49:53 +05:30
|
|
|
#include <stdint.h>
|
|
|
|
#include <stdbool.h>
|
|
|
|
#include "tm4c123gh6pm.h"
|
|
|
|
|
2024-09-17 12:17:24 +05:30
|
|
|
void GPIOIntHandler(void);
|
2024-09-16 10:49:53 +05:30
|
|
|
int main(void)
|
|
|
|
{
|
|
|
|
SYSCTL_RCGC2_R |= 0x00000020; /* enable clock to GPIOF */
|
|
|
|
GPIO_PORTF_LOCK_R = 0x4C4F434B; /* unlock commit register */
|
|
|
|
GPIO_PORTF_CR_R = 0x11; /* make PORTF0 PORTF4 CONFIGURABLE*/
|
|
|
|
GPIO_PORTF_DEN_R = 0x1F; /* set PORTF pins 5 pins*/
|
|
|
|
GPIO_PORTF_DIR_R = 0x0E; /* set PORTF0 PORTF4 pin as input user switch pin */
|
|
|
|
GPIO_PORTF_PUR_R = 0x11; /* PORTF4 PORT0 is pulled up */
|
2024-09-17 12:17:24 +05:30
|
|
|
GPIO_PORTF_IM_R = 0x11; /*Masking the ports*/
|
|
|
|
GPIO_PORTF_IS_R = 0x00;
|
2024-09-16 10:51:33 +05:30
|
|
|
GPIO_PORTF_IEV_R = 0x00; /*detects the falling edge of the switch*/
|
2024-09-17 12:17:24 +05:30
|
|
|
GPIO_PORTF_IBE_R = 0x00
|
|
|
|
}
|
2024-09-16 10:49:53 +05:30
|
|
|
|
2024-09-17 12:17:24 +05:30
|
|
|
while(1)
|
|
|
|
{
|
2024-09-17 15:41:44 +05:30
|
|
|
GPIO_PORTF_DATA_R = 0x04;
|
|
|
|
}
|
|
|
|
|
|
|
|
void GPIOIntHandler(void)
|
|
|
|
{
|
|
|
|
switch(z)
|
|
|
|
{
|
|
|
|
case 0: GPIO_PORTF_DATA_R = 0x02;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1: GPIO_PORTF_DATA_R = 0x00;
|
|
|
|
break;
|
2024-09-16 10:49:53 +05:30
|
|
|
|
2024-09-17 15:41:44 +05:30
|
|
|
default : GPIO_PORTF_DATA_R = 0xFF;
|
2024-09-17 12:17:24 +05:30
|
|
|
|
|
|
|
|
2024-09-17 15:41:44 +05:30
|
|
|
}
|
2024-09-17 12:17:24 +05:30
|
|
|
|
|
|
|
|
|
|
|
}
|