使用蓝牙配合与Arduino UNO和Mac进行串行通信

时间:2012-05-05 07:01:56

标签: macos bluetooth arduino serial-communication

我试图通过蓝牙设置Arduino和Mac之间的串行通信,但有问题。

我的环境是:

  • Arduino UNO
  • 来自sparkfun的蓝牙伴侣
  • MacBook,OS X 10.7

首先,我编写了如下所示的arduino,如this tutorial所示。

/***********************
 Bluetooth test program
***********************/

int counter = 0;
int incomingByte;

void setup() {
  Serial.begin(115200);
}

void loop() {
  // see if there's incoming serial data:
  if (Serial.available() > 0) {
    // read the oldest byte in the serial buffer:
    incomingByte = Serial.read();
    // if it's a capital R, reset the counter
    if (incomingByte == 'R') {
      Serial.println("RESET");
      counter=0;
    }
  }

  Serial.println(counter);
  counter++;

  delay(250);
}

当Arduino连接USB时,它工作得很好。 (Arduino控制台接收数字序列,如1,2,3,4 ......带换行符。)

然后我将Arduino UNO和Bluetooth Mate连接到一些电线,并成功与Mac配对。

当我在iTerm上运行这一行时,我只收到了问号序列。

$ sudo cu -s 115200 -l /dev/tty.name-of-port
Connected.
??????????????????????????????

我也试过screen /dev/tty.name-of-port或者Arduino控制台,但结果都是一样的。

如何解决这些乱码信号并接收正确的字符? 谢谢。

1 个答案:

答案 0 :(得分:0)

也许是因为波特率很高。尝试将其减少到9600.我感觉115200对于串行连接来说太多了。