我正在尝试通过蓝牙在 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 控制台,但结果都是一样的。
如何解决这些乱码信号并接收正确的字符?谢谢你。