Below is a code created on CCS for a ti MSP-432 lauchpad. Port 2(LED2) is showing...

90.2K

Verified Solution

Question

Electrical Engineering

Below is a code created on CCS for a ti MSP-432 lauchpad. Port2(LED2) is showing a total of 7 colors instead of the 3 colorswanted. What can I change on the code, so it only displays RED,GREEN, and BLUE one after another?

#include //exact-width integer types
#include //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 Frequencycalculation.
    FPU_enableModule();

    //Change VCORE to 1 to support a frequencylarger than 24MHz.
    //See data sheet for Flash wait-staterequirement 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, 48MHz.
    CS_setDCOFrequency(DCO_FREQ);

    //Init clock signals: MCLK, HSMCLK,SMCLK.
    //Can be divided by 1, 2, 4, 8, 16, 32, 64, or128.
    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 asoutput.
    //P1.0 is connected to a red LED onLaunchPad.
    //P2.0, P2.1, P2.2 are connected to a RGBtri-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 delayloop
        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
}

Answer & Explanation Solved by verified expert
4.2 Ratings (592 Votes)
include exactwidth integer types include driver library define DCOFREQ 48e6 unit Hz void mainvoid uint32t n uint16t p2data 1 make here initial value as 1 instead of zero WDTAholdTimer stop watchdog timer Enable FPU for DCO Frequency calculation FPUenableModule Change VCORE to 1 to support a    See Answer
Get Answers to Unlimited Questions

Join us to gain access to millions of questions and expert answers. Enjoy exclusive benefits tailored just for you!

Membership Benefits:
  • Unlimited Question Access with detailed Answers
  • Zin AI - 3 Million Words
  • 10 Dall-E 3 Images
  • 20 Plot Generations
  • Conversation with Dialogue Memory
  • No Ads, Ever!
  • Access to Our Best AI Platform: Flex AI - Your personal assistant for all your inquiries!
Become a Member

Other questions asked by students