Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
3 / 3 / 0
Регистрация: 12.05.2018
Сообщений: 230
1

Serial port чтение данных через thread

12.12.2021, 09:17. Показов 586. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте всем создал отдельный класс где обнаруживает сом порт и подключается,только потом передает данные
в порт считывается с порта через второй thread.Данные приходит но в форме класса не записывается
Код
 public class Atmega : IDisposable
    {
        SerialPort port;
        Thread _th_recived;
        byte rxin=0,tx_send=0;
        string pp;
        byte[] rx_buff = new byte[10];
        byte[] buff2 = new byte[6];
        public Atmega ()
        {
          serial_set();
            _th_recived = new Thread(rx);
        }
        public void serial_set()
        {
            string[] ports = SerialPort.GetPortNames();
            foreach (string port in ports)
            {  pp = ports[0];  }
       
            port = new SerialPort(pp);
            port.BaudRate = 9600;
            port.DataBits = 8;
            port.ReadTimeout = 0;
        }
        public void Open()
        {
            port.Open();
        }
        public void Start()
        {
            Open();
            txsend();
            _th_recived.Start();
        }
        
        void rx(object state)
        {
            port.Read(rx_buff, 0, 1);
            rxin = rx_buff[0];  
        }
        public byte rxx()
        {
            return rxin;
        }
        void txsend()
        {   buff2[0]= 5;
            port.Write(buff2,0,1);
            tx_send = 1;
        }
        public byte txx()
        {
            return tx_send;
        }

        public void Dispose()
        {
            if(_th_recived != null)
        {
                _th_recived.Abort();
                _th_recived = null;
            }
            if (port != null)
            {
                if (port.IsOpen)
                    port.Close();
                port = null;
            }
        }

    }
Код
private void timer1_Tick(object sender, EventArgs e)
        {
            if (opencomss == 1)
            {
                Atmega avr = new Atmega();
                avr.Start();
                rx_byte =avr.rxx();//Вот здесь не записывается данные на  rx_byte
                richTextBox1.Text = Convert.ToString(rx_byte);
                avr.Dispose();
            }
            
        }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.12.2021, 09:17
Ответы с готовыми решениями:

Serial Port - прием данных
Добрый вечер! Пишу программу для работы с последовательным портом. Не работает прием данных. Также...

Serial port прием и вывод чистых данных
Всем привет столкнулся с такой проблемой, как прием данных через СОМ порт и вывод их на форму....

Как принять 16 бит через Serial port?
Добрый день. Хочу осуществить следующую задачу: имеется МК, который оцифровывает некий сигнал....

Принимаемые данные с датчика через Serial port преобразовать в RGB
Всем доброго времени суток! Стоит одна задача. Необходимо, получая строки с датчика цвета,...

0
12.12.2021, 09:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.12.2021, 09:17
Помогаю со студенческими работами здесь

5dpo: чтение данных из Serial port
Здравствуйте. Приношу извинение за возможно глупый вопрос, но более менее понятной для меня...

Передача данных через Serial Port в Matlab
Добрый вечер! Прошу вашей помощи. Заранее стоит сказать, что я новичок в этом деле. У меня стоит...

Неблокирующее чтение с Serial Port Perl
Только начал изучать perl. Требуется написать модуль к проекту. В модуле должны быть реализованы...

Реализовать чтение данных ИБП Ippon через serial socket
Здравствуйте пытаюсь сделать такую задачу. У меня есть бесперебойник ippon я поставил себе такую...

Вывод данных из serial port в chart
Прошу помощи , мне нужно вывести данные из ST32F411E в Visual studio , данные будут выводится в...

Вывод данных из Serial Port в Linux в файл
Требуется считывать данные из COM-порта в тестовый файл. Данные туда попадают от Arduino UNO. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru