5

我正在尝试通过蓝牙在 Arduino 和 Mac 之间建立串行通信,但遇到了问题。

我的环境是这样的:

  • Arduino UNO
  • sparkfun 的蓝牙伴侣
  • MacBook、OS X 10.7

首先,我对 arduino 进行了如下编程,如本教程所示。

/***********************
 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 和蓝牙伴侣,并成功与 Mac 配对。

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

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

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

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

4

1 回答 1

-1

可能是因为波特率高。试试把它降低到9600。我感觉115200对于串口来说太大了。

于 2013-04-14T09:04:08.733 回答