2

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

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

有任何想法吗?

问候,坦伯格

// 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());
            }
        }
    }
}
4

1 回答 1

1

数据表,第 6 页:

注意 1:您可以在未连接时随时通过串行端口在本地进入命令模式。建立连接后,只有在配置计时器未到期时才能进入命令模式。要启用连续配置,请将配置计时器设置为 255。此外,如果设备处于自动主控模式 3,则通过蓝牙连接时将无法进入命令模式。

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

于 2008-09-21T20:00:23.097 回答