0

我正在尝试从 max msp 发送一些值。我在接收它们时没有问题,但是,当我尝试一次发送多个值时,我遇到了一些麻烦。有没有办法获得多个值?

在此处输入图像描述

使用下面的代码我得到:

> pixelNum: 10 pixelState: 0 pixelNum: 1 pixelState: 0

void loop() {

  OSCMessage msgIN;
  int size;
  if((size = Udp.parsePacket())>0){
    while(size--)
      msgIN.fill(Udp.read());
    if(!msgIN.hasError()){
      msgIN.route("/pixelAni",pixelAni);
    }
  }
}

void pixelAni(OSCMessage &msg, int addrOffset){

  int pixelNum = msg.getInt(0);
  int pixelState = msg.getInt(1);

  Serial.println("pixelNum: ");
  Serial.println(pixelNum);
  Serial.println("pixelState: ");
  Serial.println(pixelState);

  pixels[pixelNum].R = 255;
  pixels[pixelNum].G = 255;
  pixels[pixelNum].B = 255;

  ledstrip.show(pixels);
}
4

1 回答 1

0

这么多选择!最简单的是pack对象,当它接收到最左边入口的输入时,它会输出。由于最大数据从上到下和从右到左流动,这应该保证你总是输出两个数字

如果您不能保证它们在完全相同的时间到达,您可以使用伙伴thresh对象来同步消息

于 2018-10-17T18:23:54.260 回答