2013-05-29 44 views
2

我是Arduino的新手,当我尝试BluetoothShieldDemo时遇到两个问题。Arduino 1.05 SoftwareSerial Library

  1. 我只能发送从蓝牙模块(通过串行监视器)数据电话,但我无法从手机发送到蓝牙模块(串行监视器显示它)。我使用示波器检查Arduino板上的RX引脚是否有信号,但串行监视器中没有数据显示。我怀疑这是一个IO问题,所以我将数字引脚6和7的IO更改为数字引脚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"); 

谢谢!

回答

0

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

2-查找模块的数据表并查看它支持哪些命令。

+0

澄清问题应作为评论添加。 – Popo