This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Issues on LED Blinking using multiple GPIO on F28335

Issues on LED Blinking using multiple GPIO on F28335

Hi, i'm trying to do LED blinking using GPIO 0 to GPIO11 on C2000 experimenter kits (F28335). I have connect the mentioned GPIO to my oscilloscope.

However, I only can get the pulsed waveform from GPIO2, 4, 6, 8, and 10, but the others have no waveform.

Is that my coding have problems?

Below is my setup code:

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File
#include "DSP2833x_Examples.h" // DSP2833x Examples Include File


#define Q1 GpioDataRegs.GPADAT.bit.GPIO0
#define Q2 GpioDataRegs.GPADAT.bit.GPIO1
#define Q3 GpioDataRegs.GPADAT.bit.GPIO2
#define Q4 GpioDataRegs.GPADAT.bit.GPIO3
#define Q5 GpioDataRegs.GPADAT.bit.GPIO4
#define Q6 GpioDataRegs.GPADAT.bit.GPIO5

#define Q7 GpioDataRegs.GPADAT.bit.GPIO6
#define Q8 GpioDataRegs.GPADAT.bit.GPIO7
#define Q9 GpioDataRegs.GPADAT.bit.GPIO8
#define Q10 GpioDataRegs.GPADAT.bit.GPIO9
#define Q11 GpioDataRegs.GPADAT.bit.GPIO10
#define Q12 GpioDataRegs.GPADAT.bit.GPIO11

unsigned int a0 =223;
unsigned int a1 =451;
unsigned int a2 =466;
unsigned int a3 =493;
unsigned int a4 =541;
unsigned int a5 =630;
unsigned int a6 =847;
unsigned int a7 =6349;

interrupt void ISRTimer0(void);
void configtestled(void);
void lvl_7 (void);
void lvl_6 (void);
void lvl_5 (void);
void lvl_4 (void);
void lvl_3 (void);
void lvl_2 (void);
void lvl_1 (void);
void lvl_0 (void);
void lvl_n1 (void);
void lvl_n2 (void);
void lvl_n3 (void);
void lvl_n4 (void);
void lvl_n5 (void);
void lvl_n6 (void);
void lvl_n7 (void);


void main(void)
{
InitSysCtrl();
configtestled();

Q1=0;
DELAY_US(10);
Q2=0;
DELAY_US(10);
Q3=0;
DELAY_US(10);
Q4=0;
DELAY_US(10);
Q5=0;
DELAY_US(10);
Q6=0;
DELAY_US(10);
Q7=0;
DELAY_US(10);
Q8=0;
DELAY_US(10);
Q9=0;
DELAY_US(10);
Q10=0;
DELAY_US(10);
Q11=0;
DELAY_US(10);
Q12=0;
DELAY_US(10);

while(1){


lvl_0 ();
DELAY_US(a0);
lvl_1 ();
DELAY_US(a1);
lvl_2 ();
DELAY_US(a2);
lvl_3 ();
DELAY_US(a3);
lvl_4 ();
DELAY_US(a4);
lvl_5 ();
DELAY_US(a5);
lvl_6 ();
DELAY_US(a6);
lvl_7 ();
DELAY_US(a7);

DELAY_US(a7);
lvl_6 ();
DELAY_US(a6);
lvl_5 ();
DELAY_US(a5);
lvl_4 ();
DELAY_US(a4);
lvl_3 ();
DELAY_US(a3);
lvl_2 ();
DELAY_US(a2);
lvl_1 ();
DELAY_US(a1);
lvl_0 ();
DELAY_US(a0);

DELAY_US(a0);
lvl_n1 ();
DELAY_US(a1);
lvl_n2 ();
DELAY_US(a2);
lvl_n3 ();
DELAY_US(a3);
lvl_n4 ();
DELAY_US(a4);
lvl_n5 ();
DELAY_US(a5);
lvl_n6 ();
DELAY_US(a6);
lvl_n7 ();
DELAY_US(a7);

DELAY_US(a7);
lvl_n6 ();
DELAY_US(a6);
lvl_n5 ();
DELAY_US(a5);
lvl_n4 ();
DELAY_US(a4);
lvl_n3 ();
DELAY_US(a3);
lvl_n2 ();
DELAY_US(a2);
lvl_n1 ();
DELAY_US(a1);
lvl_0 ();
DELAY_US(a0);

}

}


void configtestled(void)
{
EALLOW;
GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO0 = 1;
GpioCtrlRegs.GPAMUX1.bit.GPIO1 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO1 = 1;
GpioCtrlRegs.GPAMUX1.bit.GPIO2 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO2 = 1;
GpioCtrlRegs.GPAMUX1.bit.GPIO3 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO3 = 1;
GpioCtrlRegs.GPAMUX1.bit.GPIO4 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO4 = 1;
GpioCtrlRegs.GPAMUX1.bit.GPIO5 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO5 = 1;
GpioCtrlRegs.GPAMUX1.bit.GPIO6 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO6 = 1;
GpioCtrlRegs.GPAMUX1.bit.GPIO7 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO7 = 1;
GpioCtrlRegs.GPAMUX1.bit.GPIO8 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO8 = 1;
GpioCtrlRegs.GPAMUX1.bit.GPIO9 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO9 = 1;
GpioCtrlRegs.GPAMUX1.bit.GPIO10 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO10 = 1;
GpioCtrlRegs.GPAMUX1.bit.GPIO11 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO11 = 1;

EDIS;
}

void lvl_7 (void)
{
Q1=1;
Q2=0;
Q3=0;
Q4=1;

Q5=1;
Q6=0;
Q7=0;
Q8=1;

Q9=1;
Q10=0;
Q11=0;
Q12=1;

//PORTB=0b00|1001|00; //2,3,4,5 <--
//PORTA=0b0000|1001|; //0,1,2,3 -->
//PORTC=0b0000|1001|; //0,1,2,3 -->
}

void lvl_6 (void)
{

Q1=1;
Q2=1;
Q3=0;
Q4=0;

Q5=1;
Q6=0;
Q7=0;
Q8=1;

Q9=1;
Q10=0;
Q11=0;
Q12=1;

//PORTB=0b00|0011|00; //2,3,4,5
//PORTA=0b0000|1001|; //0,1,2,3
//PORTC=0b0000|1001|; //0,1,2,3
}

void lvl_5 (void)
{
Q1=1;
Q2=0;
Q3=0;
Q4=1;

Q5=1;
Q6=1;
Q7=0;
Q8=0;

Q9=1;
Q10=0;
Q11=0;
Q12=1;

//PORTB=0b00|1001|00; //2,3,4,5
//PORTA=0b0000|1100|; //0,1,2,3
//PORTC=0b0000|1001|; //0,1,2,3
}

void lvl_4 (void)
{
Q1=0;
Q2=0;
Q3=1;
Q4=1;

Q5=0;
Q6=0;
Q7=1;
Q8=1;

Q9=1;
Q10=0;
Q11=0;
Q12=1;
//PORTB=0b00|1100|00; //2,3,4,5
//PORTA=0b0000|0011|; //0,1,2,3
//PORTC=0b0000|1001|; //0,1,2,3
}

void lvl_3 (void)
{

Q1=1;
Q2=0;
Q3=0;
Q4=1;

Q5=1;
Q6=0;
Q7=0;
Q8=1;

Q9=1;
Q10=1;
Q11=0;
Q12=0;

//PORTB=0b00|1001|00; //2,3,4,5
//PORTA=0b0000|1001|; //0,1,2,3
//PORTC=0b0000|1100|; //0,1,2,3
}

void lvl_2 (void)
{
Q1=1;
Q2=1;
Q3=0;
Q4=0;

Q5=1;
Q6=0;
Q7=0;
Q8=1;

Q9=1;
Q10=1;
Q11=0;
Q12=0;
//PORTB=0b00|0011|00; //2,3,4,5
//PORTA=0b0000|1001|; //0,1,2,3
//PORTC=0b0000|1100|; //0,1,2,3
}


void lvl_1 (void)
{
Q1=1;
Q2=0;
Q3=0;
Q4=1;

Q5=1;
Q6=1;
Q7=0;
Q8=0;

Q9=1;
Q10=1;
Q11=0;
Q12=0;

//PORTB=0b00|1001|00; //2,3,4,5
//PORTA=0b0000|1100|; //0,1,2,3
//PORTC=0b0000|1100|; //0,1,2,3
}

void lvl_0 (void)
{

Q1=0;
Q2=0;
Q3=1;
Q4=1;

Q5=0;
Q6=0;
Q7=1;
Q8=1;

Q9=0;
Q10=0;
Q11=1;
Q12=1;
//PORTB=0b00|1100|00; //2,3,4,5
//PORTA=0b0000|0011|; //0,1,2,3
//PORTC=0b0000|0011|; //0,1,2,3
}

void lvl_n1 (void)
{

Q1=0;
Q2=1;
Q3=1;
Q4=0;

Q5=0;
Q6=0;
Q7=1;
Q8=1;

Q9=0;
Q10=0;
Q11=1;
Q12=1;
//PORTB=0b00|0110|00; //2,3,4,5
//PORTA=0b0000|0011|; //0,1,2,3
//PORTC=0b0000|0011|; //0,1,2,3
}
void lvl_n2 (void)
{

Q1=0;
Q2=0;
Q3=1;
Q4=1;

Q5=0;
Q6=1;
Q7=1;
Q8=0;

Q9=0;
Q10=0;
Q11=1;
Q12=1;
//PORTB=0b00|1100|00; //2,3,4,5
//PORTA=0b0000|0110|; //0,1,2,3
//PORTC=0b0000|0011|; //0,1,2,3
}
void lvl_n3 (void)
{

Q1=0;
Q2=1;
Q3=1;
Q4=0;

Q5=0;
Q6=1;
Q7=1;
Q8=0;

Q9=0;
Q10=0;
Q11=1;
Q12=1;
//PORTB=0b00|0110|00; //2,3,4,5
//PORTA=0b0000|0110|; //0,1,2,3
//PORTC=0b0000|0011|; //0,1,2,3
}
void lvl_n4 (void)
{
Q1=1;
Q2=1;
Q3=0;
Q4=0;

Q5=1;
Q6=1;
Q7=0;
Q8=0;

Q9=0;
Q10=1;
Q11=1;
Q12=0;
//PORTB=0b00|0011|00; //2,3,4,5
//PORTA=0b0000|1100|; //0,1,2,3
//PORTC=0b0000|0110|; //0,1,2,3
}
void lvl_n5 (void)
{

Q1=0;
Q2=1;
Q3=1;
Q4=0;

Q5=1;
Q6=1;
Q7=0;
Q8=0;

Q9=0;
Q10=1;
Q11=1;
Q12=0;
//PORTB=0b00|0110|00; //2,3,4,5
//PORTA=0b0000|1100|; //0,1,2,3
//PORTC=0b0000|0110|; //0,1,2,3
}
void lvl_n6 (void)
{
Q1=1;
Q2=1;
Q3=0;
Q4=0;

Q5=0;
Q6=1;
Q7=1;
Q8=0;

Q9=0;
Q10=1;
Q11=1;
Q12=0;
//PORTB=0b00|0011|00; //2,3,4,5
//PORTA=0b0000|0110|; //0,1,2,3
//PORTC=0b0000|0110|; //0,1,2,3
}
void lvl_n7 (void)
{
Q1=0;
Q2=1;
Q3=1;
Q4=0;

Q5=0;
Q6=1;
Q7=1;
Q8=0;

Q9=0;
Q10=1;
Q11=1;
Q12=0;
//PORTB=0b00|0110|00; //2,3,4,5
//PORTA=0b0000|0110|; //0,1,2,3
//PORTC=0b0000|0110|; //0,1,2,3
}
//===========================================================================
// No more.
//===========================================================================

Any help or suggestions? :-)