我创建了一个android应用程序,它发送一个0到20之间的值,如下所示:
public void write(byte[] msg) {
cnt++;
Log.v("CNT", Integer.toString(cnt));
try {
for(byte b : msg)
{
Log.v("Buffer", Byte.toString(b));
}
mmOutStream.write(msg);
} catch (Exception e) { Log.e("ConnectedThread","Send Error",e); }
}
我的arduino代码如下:
SoftwareSerial bluetooth(2,8);
void setup()
{
Serial.begin(9600);
bluetooth.begin(9600);
Serial.println("Bluetooth Start!");
}
void loop()
{
char inDat;
char outDat;
if(bluetooth.available())
{
inDat = bluetooth.read();
Serial.println(inDat);
}
if(Serial.available())
{
outDat = Serial.read();
bluetooth.write(outDat);
}
}
我希望在串口控制台上获得0到20之间的数字,但我只得到“ÿ”
有人能帮助我吗?
提前致谢
答案 0 :(得分:0)
有时候,当我在串行监视器中输入与Arduino板不同的波特率时,我得到这个ÿ
的东西。可能是这个?
另外(这只是一个提示),您应该使用Serial.write(inDat)
而不是Serial.println(inDat)
,因为println
函数会在最后添加'\n'
。