我是 Arduino 新手,在尝试 BluetoothShieldDemo 时遇到了 2 个问题。
我只能将数据从蓝牙模块(通过串行监视器)发送到手机,但我不能从手机发送到蓝牙模块(在串行监视器中显示)。我用示波器检查了 Arduino 板 RX 引脚中有信号,但串行监视器中没有数据显示。我怀疑这是一个 IO 问题,所以我将 IO 从数字引脚 6 和 7 更改为数字引脚 2 和 3,然后是数字引脚 4 和 5。但它仍然无法正常工作。然后我将代码更改为使用硬件串行(Serial1),它现在可以工作了。我只是想知道为什么它不能与 SoftwareSerial 一起使用。
虽然我可以发送和接收数据,但我无法更改蓝牙名称。发送以下命令时蓝牙模块无响应。蓝牙模块是否处于某种锁定模式?或者命令与制造商不同?我得到的蓝牙模块上有一个 CSR 31A2 芯片。但是我在网上看到的另一个盾牌有2个芯片,它是CSR BC417的。
代码:
blueToothSerial.print("\r\n+STWMOD=0\r\n");
blueToothSerial.print("\r\n+STNA=BluetoothSlave\r\n");
blueToothSerial.print("\r\n+STOAUT=1\r\n");
blueToothSerial.print("\r\n+STAUTO=0\r\n");
delay(2000);
blueToothSerial.print("\r\n+INQ=1\r\n");
提前致谢!