powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Работа с com портом
15 сообщений из 15, страница 1 из 1
Работа с com портом
    #38935708
Madfish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день выручайте

Использую С# 2008
на форму бросил serialPort

Никаким образом не получается записать данные в com port(вирутальный)

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
private void button4_Click(object sender, EventArgs e)
         
        {
            serialPort2.PortName = "COM10"; //Указываем наш порт
            serialPort2.BaudRate = 9600; //указываем скорость.
            serialPort2.DataBits = 8;
            serialPort2.ReadTimeout = 500;
            serialPort2.WriteTimeout = 500;

            if (serialPort2.IsOpen == false)
            {
                serialPort2.Open();
                label7.Text = "Порт подключен";
                
               
                
            }
        }

        private void button5_Click(object sender, EventArgs e)
          {
              string message = "2345";
              serialPort2.WriteLine(String.Format(message));
           
             
          }

        private void button6_Click(object sender, EventArgs e)
        {
            label8.Text = serialPort2.ReadExisting();
        }



почему не работает не понятно

label8.Text = serialPort2.ReadExisting(); - выводит пустоту
...
Рейтинг: 0 / 0
Работа с com портом
    #38935795
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что ожидалось вместо пустоты в нормальном кейсе?
...
Рейтинг: 0 / 0
Работа с com портом
    #38935805
Madfish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

2345 - это ожидалось, но что то мне подсказывает что я что то совсем не так делаю
...
Рейтинг: 0 / 0
Работа с com портом
    #38935814
Madfish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Madfish,

причем программой com port toolkit в режиме прослушки
я вижу значение 2345 - следовательно
либо оно в коме храниться не долго, либо по каким то причинам значение не считать
не работает serialPort2.ReadExisting() ....

это из программы сom port toolkit
000001 12:56:59.957 32 33 34 35 0A 2345.

Модератор: Тема перенесена из форума "C++".
...
Рейтинг: 0 / 0
Работа с com портом
    #38935863
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Madfish,

readexisting дает тебе то, что пришло на порт, а не то, что ушло.
...
Рейтинг: 0 / 0
Работа с com портом
    #38935874
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Madfish, вот тут по ссылке есть рабочий экземпл от производителя
https://msdn.microsoft.com/ru-ru/library/System.IO.Ports.SerialPort(v=vs.110).aspx

добейся того чтобы он у тебя заработал. А потом портируй в оконное приложение.
Аккуратно. Step-by-step.

Удачи.
...
Рейтинг: 0 / 0
Работа с com портом
    #38935889
Madfish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

пример этот я уже исковырял - мне теперь не понятно если я данные отправил - то как их забрать

со сканером штрих кода все как то проще
порт открыл пикнул штрих код - штрих код сидит в порте - я нажимаю readexisting - и все данные есть

вот теперь я даже и не знаю куда копать
данные то отправляются - именно с отправкой их я все правильно сделал
...
Рейтинг: 0 / 0
Работа с com портом
    #38935894
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Madfishmayton,

пример этот я уже исковырял - мне теперь не понятно если я данные отправил - то как их забрать


Вот ты если письмо кому-то отправил - то как его забрать?
...
Рейтинг: 0 / 0
Работа с com портом
    #38935898
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Madfishmayton,

пример этот я уже исковырял - мне теперь не понятно если я данные отправил - то как их забрать

Еще раз внимательно почитай свой текст. Подумай в чём смысл самого вопроса с точки
зрения информационных технологий?
...
Рейтинг: 0 / 0
Работа с com портом
    #38935990
Madfish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Спасибо ;-) с этим я разобрался - подскаска с почтой помогла )))))

Единственное изначальная задача у меня такова

с com10 передать значение в com7 а далее это дело ( при неких условиях передать в com 1)

как же это дело реализовать в одной форме
...
Рейтинг: 0 / 0
Работа с com портом
    #38936021
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Madfishс com10 передать значение в com7 а далее это дело ( при неких условиях передать в com 1)


Еще раз - тебе извне приходят данные в com10, тебе их надо передать другому устройству, висящему на com7, и иногда третьему - в сom1? Опиши более конкретно, что там у тебя, а то пока что бред какой-то. Может, проще сеть RS485 организовать?
как же это дело реализовать в одной форме

Ну, делаешь три экземпляра SerialPort, и вперед.
...
Рейтинг: 0 / 0
Работа с com портом
    #38936219
Madfish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полный листинг програмулины

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports; 

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();              
        }

// открываем ком14 к нему присоединен сканер штрих кода
        private void button1_Click(object sender, EventArgs e)
        {
           
            foreach (string portname in SerialPort.GetPortNames())
            {
                comboBox1.Items.Add(portname); //добавить порт в список    
            }

            serialPort1.PortName = "COM14";
                           
                if (serialPort1.IsOpen == false)
                {
                    serialPort1.Open();
                    label2.Text = "Порт подключен";
                }
        }

// сканером считываем любой штрих код   - затем нажимаем эту кнопку и
// label1  изменяется на значение штрих кода 
// далее открываем  2 экземпляр comport порта(comport2)
// пытаемся туда что нибудь записать 

        private void button3_Click(object sender, EventArgs e)
        {
            string m= serialPort1.ReadExisting();
            label1.Text = m;

            if (serialPort2.IsOpen == false)
            {
                serialPort2.PortName = "COM10";
                serialPort2.ReadTimeout = 500;
                serialPort2.WriteTimeout = 500;
                serialPort2.Open();
                label7.Text = "Порт подключен";
                serialPort2.WriteLine(String.Format(m));
            }
        }


/// по каким то неведомым причинам ничего не считывается от сюда 
        private void button5_Click(object sender, EventArgs e)
          {
              label8.Text = serialPort2.ReadExisting();    
          }

        //ЗАКРЫВАЕМ ВСЕ ПОРТЫ
        private void button2_Click(object sender, EventArgs e)
        {
            if (serialPort1.IsOpen == true)

                serialPort1.Close();
            label2.Text = "Порт отключен";
            label1.Text = "NULL";


            if (serialPort2.IsOpen == true)

                serialPort2.Close();
            label7.Text = "Порт отключен";
            label8.Text = "NULL";
        }  
    }
}
...
Рейтинг: 0 / 0
Работа с com портом
    #38936760
Slava_Psk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Madfish, вот работающий пример обмена с устройством по Com порту (master-slave, запрос/ответ). Завершающий символ в ответе Slave chr(13) /конец строки/
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
Public Class Form1
    Dim s, s1 As String
    Dim i_rec As Integer, i As Integer, j As Integer, k As Integer, chsum As Integer
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'Проверка интерфейса RS232 с DK8020
        s = "$01T003HHH" + Chr(13)
        SerialPort1.Open()
        Do
        k=k+1
' Запрос- посылка
            SerialPort1.WriteLine(s)
            i_rec = 0
'Получение ответа, завершающий символ Chr(13)
            Do
                i = SerialPort1.ReadByte()
                s1 = s1 & Chr(i)
                i_rec = i_rec + 1
                If i_rec > 100 Then
                    MsgBox("Нет ответа")
                    i_rec = 0
                    GoTo mm2
                End If
            Loop Until i = 13 
            Label2.Text = s1
            Label2.Refresh()
        Loop Until k = 10 
mm2:

        SerialPort1.Close()
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        j = 0
        k = 1
    End Sub

  
End Class
...
Рейтинг: 0 / 0
Работа с com портом
    #38936761
Slava_Psk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Только извиняюсь, не заметил про C#. Мой пример в VB.
...
Рейтинг: 0 / 0
Работа с com портом
    #38938279
Madfish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Со всем разобрался.
Всем спасибо.

Ошибка не в коде была , а в том что порт виртуальные созданный программай Virtual PORT
поддерживает только 2-а соединение. Для того что бы видеть, что я отправляю в порт, у меня висела еще программа COM Port Toolkit 4.0 вот именно по этому и не работало ...
Всем спасибо.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Работа с com портом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]