2

我是 Arduino 新手,在尝试 BluetoothShieldDemo 时遇到了 2 个问题。

  1. 我只能将数据从蓝牙模块(通过串行监视器)发送到手机,但我不能从手机发送到蓝牙模块(在串行监视器中显示)。我用示波器检查了 Arduino 板 RX 引脚中有信号,但串行监视器中没有数据显示。我怀疑这是一个 IO 问题,所以我将 IO 从数字引脚 6 和 7 更改为数字引脚 2 和 3,然后是数字引脚 4 和 5。但它仍然无法正常工作。然后我将代码更改为使用硬件串行(Serial1),它现在可以工作了。我只是想知道为什么它不能与 SoftwareSerial 一起使用。

  2. 虽然我可以发送和接收数据,但我无法更改蓝牙名称。发送以下命令时蓝牙模块无响应。蓝牙模块是否处于某种锁定模式?或者命令与制造商不同?我得到的蓝牙模块上有一个 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"); 

提前致谢!

4

1 回答 1

0

1-使用 SoftwareSerial 时,您如何声明引脚(输入/输出)?,您是否正确拉动串行数据(在数据传输之间给予足够的时间,但在正确的时间读取)?

2- 找到你的模块的数据表,看看它支持什么命令。

于 2014-02-25T16:52:06.937 回答