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

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

}


Step by Step Solution

3.43 Rating (156 Votes )

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock

Heres a modification of the provided source code and a stepbystep explanation to make the tricolor LED cycle through the three colors Red Green and Bl... View full answer

blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!