2

バッテリ駆動 (2 x AA) の Arduino LilyPad は、BlueSmirf v2.11 Bluetooth モデムをコマンド モードに切り替えます (以下のソース コードを参照)。BlueSmirf は 9600 ボーに設定されています。

PC が Bluetooth 経由で接続されている場合 (以下のソース コードを参照)、Arduino プログラムは最初は正常に動作します (複数の「ping\n」を送信します)。しばらくすると、(LilyPad/BlueSmirf) コマンド モードとの切り替えではなく、Bluetooth 接続を介して "$$$" と "---\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の場合、Bluetooth経由で接続するとコマンドモードに入ることができません。

私の推測では、設定タイマーの期限が切れています。

于 2008-09-21T20:00:23.097 に答える