Ottenere Arduino LilyPad per passare BlueSmirf v2.11 in / dalla modalità comando
Domanda
Un Arduino LilyPad alimentato a batteria (2 x AA) dovrebbe commutare un modem Bluetooth BlueSmirf v2.11 in / dalla modalità comando (vedere il codice sorgente di seguito). BlueSmirf è stato impostato su 9600 baud.
Se il PC si connette tramite Bluetooth (vedere il codice sorgente di seguito), il programma Arduino funziona correttamente all'inizio (inviando più " ping \ n "). Dopo qualche tempo (LilyPad / BlueSmirf) inizia anche a inviare " $$$ " e " --- \ n " tramite la connessione Bluetooth invece di passare alla / dalla modalità di comando.
Qualche idea?
Saluti, Tamberg
// Arduino source code:
void setup () {
Serial.begin(9600);
}
void loop () {
Serial.print("$<*>quot;);
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());
}
}
}
}
Soluzione
Dal datasheet , pagina 6:
NOTA 1: è possibile accedere alla modalità comando localmente tramite la porta seriale in qualsiasi tempo quando non connesso. Una volta a viene stabilita la connessione, è possibile solo inserire modalità di comando se il timer di configurazione ha non scaduto. Per abilitare continuo configurazione, impostare il timer di configurazione su 255. Inoltre, se il dispositivo è in modalità Auto Master 3, NON sarà possibile entra in modalità comando quando connesso Bluetooth.
Suppongo che il timer di configurazione stia scadendo.