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.

TMS320F28388D: Writing multiple GPIO at the same time

Part Number: TMS320F28388D
Other Parts Discussed in Thread: C2000WARE

I am wondering if I am using driverlib to write GPIO, how I I write multiple GPIO at the same time.

When I am using bitfield, I can do things like         GpioDataRegs.GPADAT.all=0x8F7A; to figure multiple GPIOs at the same time. However , when using driverlib, it seems like I can only use GPIO_WritePin() to do this one by one and it wastes a lot of time.

1. The CPU needs to call GPIO_WritePin() multiple time

2. Each GPIO_WritePin() also needs plenty of time since it looks like this

void GPIO_WritePin(Uint16 gpioNumber, Uint16 outVal)
{
volatile Uint32 *gpioDataReg;
Uint32 pinMask;

gpioDataReg = (volatile Uint32 *)&GpioDataRegs + (gpioNumber/32)*GPY_DATA_OFFSET;
pinMask = 1UL << (gpioNumber % 32);

if (outVal == 0)
{
gpioDataReg[GPYCLEAR] = pinMask;
}
else
{
gpioDataReg[GPYSET] = pinMask;
}
}

Thanks

Yifu