我正在 arduino 和 openframeworks 之间制作串行程序。但是arduino向openframeworks程序发送了奇怪的数据。我无法修复它,请帮助。
(arduino代码)
void setup(){
Serial.begin(9600);
}
void loop(){
Serial.write('a');
delay(100);
}
(Mac 上的 opneframeworks 代码)
#include "testApp.h"
ofSerial mySerial;
//--------------------------------------------------------------
void testApp::setup(){
mySerial.setup(0, 9600);
}
//--------------------------------------------------------------
void testApp::update(){
unsigned char myByte = 0;
myByte = mySerial.readByte();
if(myByte == OF_SERIAL_NO_DATA){
cout << "no data was read";
}else if(myByte == OF_SERIAL_ERROR){
cout << "an error occurred";
}else{
cout << "myByte is " << myByte << "\n";
}
}
(Xcode 上的控制台)
...
myByte is \376
myByte is \376
myByte is a
myByte is \376
myByte is \376
myByte is \376
myByte is \376
...
当 Arduino 没有发送任何数据时,Mac 上的 OpenFrameworks 似乎得到了“\376”。
我的环境是
- Mac OS 狮子
- Xcode v4.3.3 SDK10.6
- 适用于 Mac 的 OpenFrameworks v0.7.4
- Arduino IDE v1.0.4
- Arduino uno(atmega328p)
- Arduino 和我的电脑通过 USB 数据线连接