Мне нужно установить связь через последовательный порт. Я пытаюсь сделать это сейчас, чтобы разрешить связь Bluetooth через 2 устройства, и ничего не получается.
У меня есть приложение на устройствах (называемое Bluetooth Explorer), которое позволяет мне осуществлять последовательную связь, и оно будет отправлено через Bluetooth, используя стек Stonestreet One, если вам интересно: (
В настройках я могу создать «Сервис», для которого определен COM-порт.
Поэтому я пытаюсь запустить следующий код (я вызываю Запись на одном устройстве и Чтение на другом устройстве). BTExplorer запускает приложение сопряжения при выполнении serialPort.Open()
. В этом я выбираю, какой «сервис» я хочу использовать (последовательный порт 1).
Но serialPort.ReadLine()
зависает и никогда не возвращается. (Я имею в виду ДЕЙСТВИТЕЛЬНО зависает. Мне нужно выполнить горячую загрузку устройства, чтобы убить мое приложение. Завершить процесс / процесс уничтожения не работает.)
Вот код для справки:
public void WriteSerial()
{
SerialPort serialPort = new SerialPort("COM4");
serialPort.Open();
serialPort.WriteLine("Hello To The Other Side");
serialPort.Close();
}
public void ReadSerial()
{
SerialPort serialPort = new SerialPort("COM4");
serialPort.Open();
string output = serialPort.ReadLine();
serialPort.Close();
MessageBox.Show(output);
}
private void btnWrite_Click(object sender, EventArgs e)
{
WriteSerial();
}
private void btnRead_Click(object sender, EventArgs e)
{
ReadSerial();
}
Как заставить это работать?
Я использую Windows Mobile 5 с устройствами MC70. Стек Bluetooth - Stonestreet One (к сожалению, это не изменится). Разработка в C # Compact Framework .NET 3.5