主题中讨论的其他器件:C2000WARE
我想知道我是否使用 driverlib 来写入 GPIO、如何同时写入多个 GPIO。
当我使用 bitfield 时、我可以执行类似操作 GpioDataRegs.GPADAT.all=0x8F7A;用于同时图解多个 GPIO。 但是,当使用 driverlib 时,似乎我只能使用 GPIO_WritePin ()来逐个执行此操作,这会浪费大量时间。
1. CPU 需要 多次调用 GPIO_WritePin ()
2.每个 GPIO_WritePin ()也需要大量的时间,因为它看起来像这样
空 GPIO_WritePin (UINT16 gpioNumber、UINT16 OutVal)
{
Volatile UINT32 *gpioDataReg;
UINT32引脚掩码;
gpioDataReg =(Volatile UINT32 *)&GpioDataRegs +(gpioNumber/32)* GPY_DATA_OFFSET;
pinMask = 1UL<<(gpioNumber % 32);
如果(outVal => 0)
{
gpioDataReg[GPYCLEAR]= pinMask;
}
方案
{
gpioDataReg[GPYSET]= pinMask;
}
}
谢谢
Yifu