如果按下按钮,我需要发送1,否则发送0。所以我使用了这个Arduino(Nano)代码。当我将它与Serial.println一起使用并在COM端口上进行检查时,它可以工作:
#include <SoftwareSerial.h>
int txPin = 1;
int rxPin =0;
bool y = 1;
bool n = 0;
SoftwareSerial bt(txPin, rxPin);
int btnpin=13;
void setup() {
pinMode(13, INPUT);
bt.begin(9600);
Serial.begin(9600);
}
void loop() {
if(bt.available()) {
if(digitalRead(btnpin) == HIGH)
bt.write(y);
else bt.write(n);
}
delay(100);
}
我正在尝试使用蓝牙终端进行检查。但是我总是看到这个
答案 0 :(得分:2)
尝试其他波特率。有些模块默认使用波特率38400,但其他一些模块有9600.如果你有额外的UART,也可以考虑使用Serial而不是SoftwareSerial。
答案 1 :(得分:0)
实际上,有延迟(100);移动设备的蓝牙缓冲区已满,您需要将延迟值增加到大约2000。