Modify the source code to make the tri-color LED2 to cycle through three colors only: Red, Green,
Question:
Modify the source code to make the tri-color LED2 to cycle through three colors only: Red, Green, and Blue.
• In your report, explain your source code.
source code:
#include <stdint.h> //exact-width integer types
#include <ti\devices\msp432p4xx\driverlib\driverlib.h> //driver library
#define DCO_FREQ 48e6 //unit: Hz
void main(void)
{
uint32_t n;
uint16_t p2_data = 0;
WDT_A_holdTimer(); //stop watchdog timer
//Enable FPU for DCO Frequency calculation.
FPU_enableModule();
//Change VCORE to 1 to support a frequency higher than 24MHz.
//See data sheet for Flash wait-state requirement for a given frequency.
PCM_setCoreVoltageLevel(PCM_VCORE1);
FlashCtl_setWaitState(FLASH_BANK0, 1);
FlashCtl_setWaitState(FLASH_BANK1, 1);
//Set the DCO Frequency.
//DCO nominal frequencies: 1.5, 3, 6, 12, 24, 48 MHz.
CS_setDCOFrequency(DCO_FREQ);
//Init clock signals: MCLK, HSMCLK, SMCLK.
//Can be divided by 1, 2, 4, 8, 16, 32, 64, or 128.
CS_initClockSignal(CS_MCLK, CS_DCOCLK_SELECT, CS_CLOCK_DIVIDER_1);
CS_initClockSignal(CS_HSMCLK, CS_DCOCLK_SELECT, CS_CLOCK_DIVIDER_8);
CS_initClockSignal(CS_SMCLK, CS_DCOCLK_SELECT, CS_CLOCK_DIVIDER_16);
//Configure P1.0, P2.0, P2.1, P2.2 as output.
//P1.0 is connected to a red LED on LaunchPad.
//P2.0, P2.1, P2.2 are connected to a RGB tri-color LED on LaunchPad.
GPIO_setAsOutputPin(GPIO_PORT_P1, GPIO_PIN0);
GPIO_setAsOutputPin(GPIO_PORT_P2, GPIO_PIN0|GPIO_PIN1|GPIO_PIN2);
while(1)
{
//simple delay loop
for(n=0; n<1000000; n++)
{
//do nothing
}
GPIO_toggleOutputOnPin(GPIO_PORT_P1, GPIO_PIN0);
GPIO_setOutputLowOnPin(GPIO_PORT_P2, (~p2_data)&0x07);
GPIO_setOutputHighOnPin(GPIO_PORT_P2, p2_data);
p2_data++;
if(p2_data >= 0x08)
{
p2_data = 0;
}
} //end of while
}
Introduction to Java Programming, Comprehensive Version
ISBN: 978-0133761313
10th Edition
Authors: Y. Daniel Liang