【问题标题】:How can i make this simple thing work?我怎样才能使这个简单的事情起作用?
【发布时间】:2015-04-09 06:31:48
【问题描述】:

好的,我在 android studio 中有这段代码:

driver.setBaudRate(9600);
byte buffer[] = new byte[16];
driver.write(buffer,1000);

我在 arduino 中有这个:

void setup() {
  pinMode(ledPin4,OUTPUT);

  Serial.begin(9600);
}

void loop () {
  int ok = Serial.read();
if( //...... //){                        <------------- I don't know what to put here
  digitalWrite(ledPin4,HIGH);}

  }

编辑: 我想要类似的东西:

安卓:

driver.setBaudRate(9600);
int ok = 1;
driver.write(1);

阿杜诺:

void setup() {
  pinMode(ledPin4,OUTPUT);

  Serial.begin(9600);
}

void loop () {
  byte ok = Serial.read();
if( ok == 1){            
  digitalWrite(ledPin4,HIGH);}

  }

我只能使用 bytes[],我该怎么做?

【问题讨论】:

  • 我只能使用字节,usb串行驱动库..
  • 清除您的问题。无法理解。
  • Err... 到目前为止你写了什么?你已经写的代码有什么问题(除了在你的代码中你应该写driver.write(ok);而不是driver.write(1);
  • 嗯..这是一个例子..我只需要在android上写一个字节[],但我不能在arduino上发送它..
  • 那些想帮助我的人将这篇文章复制为另一个问题..但我的问题是如何传输一个 int 而不是一个字节 []..

标签: android arduino byte output communication


【解决方案1】:

尝试替换

byte ok = Serial.read();

int ok = Serial.parseInt();

注意:如果此代码似乎滞后,请尝试添加

Serial.setTimeout(20);

在 void 设置之后

Serial.begin(9600);

【讨论】:

    猜你喜欢
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-21
    • 1970-01-01
    • 1970-01-01
    • 2016-09-18
    相关资源
    最近更新 更多