Question
MSP430 help needed #include #define RedLED BIT0 #define RedLEDToggle (P1OUT ^= RedLED) /** * main.c */ void main(void) { WDTCTL = WDTPW | WDTHOLD; //
MSP430 help needed
#include
#define RedLED BIT0
#define RedLEDToggle (P1OUT ^= RedLED)
/**
* main.c
*/
void main(void)
{
WDTCTL = WDTPW | WDTHOLD; // stop watchdog timer
P1DIR = RedLED;
P1OUT = RedLED;
TACTL = TASSEL_2|ID_3|MC_3|TAIE;
TACCR0 = 62500;
_enable_interrupts();
LPM1;// enter low power mode
}
#pragma vector = TIMER0_A1_VECTOR __interrupt void Timer_A(void)
{
switch (TAIV)
{
case 0x02: break;
case 0x04: break;
case 0x0A: RedLEDToggle;
break;
}
}
Problem 1: Modify Example 10.9 using the timer Timer_A to toggle two LEDs in periodic time intervals of
1 second
5 seconds
30 seconds
You need to explain in detail the setting for Timer_A and the code in the interrupt service routine.
Problem 2: Modify the program written in Problem 1 to accept port interrupt from a switch. Initially, the system is toggling the two LEDs every 2 seconds. Whenever a port interrupt occurs, the LEDs will go to their original states for 5 seconds and then continue toggling every 2 seconds.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started