private void cmdOpenPort_Click(object sender, EventArgs e)
{
serialPort.Open();
serialPort.WriteLine("AT+CGMI\r");
}
private void serialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
txtVendor.Text = serialPort.ReadLine();
}
Записать в тестбокс ответ из СОМ-порта
с помощью АТ-комманд, есть форма моей проги с текстбоксами в которые надо считать результаты
команд отправленных устройству, либо выдать месседжбокс с ошибкой при определенном ответе
от устройства. Вопрос как и где ловить эти ответы ? Я так подозреваю что в событии
DataReceived, но что-то не получается. Пробовал так:
Код:
Не выводится, пишет что я пытаюсь получить доступ к текстбоксу из потока который его не
создал. А в месседжбокс и в консоль выводится правда в формате:
<введенная команда>
<пустая строка>
<результат команды>
<пустая строка>
<OK>
А если надо получиь результаты многих команад ? Как узнать какой результат в какой
текстбокс пихать ?
Код:
[COLOR=blue]delegate[/COLOR] [COLOR=blue]void[/COLOR] dataReceivedHandler([COLOR=blue]object[/COLOR] sender, [COLOR=teal]SerialDataReceivedEventArgs[/COLOR] e);
[COLOR=blue]private[/COLOR] [COLOR=blue]void[/COLOR] serialPort_DataReceived([COLOR=blue]object[/COLOR] sender, [COLOR=teal]SerialDataReceivedEventArgs[/COLOR] e)
{
[COLOR=blue]if[/COLOR] (![COLOR=blue]this[/COLOR].InvokeRequired)
txtVendor.Text = serialPort.ReadLine();
[COLOR=blue]else[/COLOR]
this.Invoke(new dataReceivedHandler(serialPort_DataReceived),sender,e);
}
[COLOR=blue]private[/COLOR] [COLOR=blue]void[/COLOR] serialPort_DataReceived([COLOR=blue]object[/COLOR] sender, [COLOR=teal]SerialDataReceivedEventArgs[/COLOR] e)
{
[COLOR=blue]if[/COLOR] (![COLOR=blue]this[/COLOR].InvokeRequired)
txtVendor.Text = serialPort.ReadLine();
[COLOR=blue]else[/COLOR]
this.Invoke(new dataReceivedHandler(serialPort_DataReceived),sender,e);
}
Необходимо написать прогу которая будет стоять на клиенте и проводить обратную конвертацию из ТСР в Сом.
Вопрос в следующем как мне эмулировать программно СОМ портвозможноли это? на клиенте может есть какие то компоненты или кто нибудь подскажет как это сделать.