使用 Vex RobotC 控制循环中的端口

Controlling ports in a loop using Vex RobotC

我正在使用 Vex RobotC 并且有一个函数:setTouchLEDRGB(portx, R,G,B); 设置触摸 LED 的 RGB 颜色。

我有 9 个 TouchLED,想一次改变它们的颜色,现在很烦人,这是一次 9 行代码,我希望创建一个具有迭代功能的函数,例如:

for (int i = 0, i < 9, i++)
{
    setTouchLEDRGB(port[i], R, G, B);
}

有办法做到这一点吗?

假设您有名为 portn

的端口的变量或宏
   int ports[9];
    ports[0] = port0;
    ports[1] = port1;
    ...

    for (i = 0, i <9, i ++)
    {
     setTouchLEDRGB(ports[i], R, G, B);
    }
setTouchLEDRGB(portx, R,G,B);

不确定平台,但您可以创建一个包含端口的数组:

#define NUM_PORTS 9

// 'int' should be the type of your port parameter
int ports[NUM_PORTS] = {PORTA, PORTB, etc};

for (int i = 0; i < NUM_PORTS; ++i) {
    setTouchLEDRGB(ports[i], R, G, B);
}