让Arduino LilyPad将BlueSmirf v2.11切换为/从命令模式切换

时间:2008-09-21 16:15:00

标签: bluetooth arduino

电池供电(2 x AA)Arduino LilyPad应将BlueSmirf v2.11蓝牙调制解调器切换到命令模式(参见下面的源代码)。 BlueSmirf已设置为9600波特。

如果PC通过蓝牙连接(参见下面的源代码),Arduino程序在开始时运行正常(发送多个“ping \ n”)。一段时间后(LilyPad / BlueSmirf)开始也通过蓝牙连接发送“$$$”和“--- \ n”,而不是切换到/从命令模式。

有什么想法吗?

此致 tamberg

// Arduino source code:

void setup () {
  Serial.begin(9600);
}

void loop () {
    Serial.print("$$$");
    delay(2000); // TODO: Inquiry, etc.
    Serial.print("---\n");
    delay(100);
    Serial.print("ping\n");
    delay(2000);
}

// C# source code (runs on PC)

using System;
using System.IO.Ports;

class Program {

    static void Main () {
        SerialPort p = new SerialPort(
            "COM20", 9600, Parity.None, 8, StopBits.One);
        using (p) {
            p.Open();
            while (p.IsOpen) {
                Console.Write((char) p.ReadChar());
            }
        }
    }
}

1 个答案:

答案 0 :(得分:1)

来自datasheet,第6页:

  

注1:您可以进入命令模式   在任何一个串口上本地   没有连接的时间。一旦   连接完成后,您只能输入   命令模式,如果配置计时器有   没过期。启用连续   配置,配置配置计时器   255.此外,如果设备处于自动主模式3,您将无法进行   连接时进入命令模式   蓝牙。

我的猜测是配置计时器即将到期。