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

时间:2016-01-18 19:05:22

标签: c for-loop ioports 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);
}

有没有办法实现这个目标?

2 个答案:

答案 0 :(得分:2)

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);
}

答案 1 :(得分:1)

假设您有名为portn的端口的变量或宏

   int ports[9];
    ports[0] = port0;
    ports[1] = port1;
    ...

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