Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Проболемма с COM портом


Автор: GOREPROGRAMMER 5.3.2008, 19:11
Помогите пожалуйста, у меня в программе надо послать в устройство строку через ком порт и прочитать 4 байта после этого, вот мой код:

Код

private void READ_Click(object sender, EventArgs e)
        {
            byte[] buf = new byte[4];
            byte[] otv = new byte[3];


            if (this.Serport.IsOpen)
            {
            string input = "r" + this.Adress.Text.ToString() + ":";
            this.Serport.Write(input);
            this.Serport.Write(end, 0, 1);
            

            otv[0] = (byte)this.Serport.ReadByte();
            otv[1] = (byte)this.Serport.ReadByte();
            otv[2] = (byte)this.Serport.ReadByte();
            this.Serport.ReadByte();
           

            this.First.Text = otv[0].ToString();
            this.Second.Text = otv[1].ToString();
            this.THird.Text = otv[2].ToString();
            this.Invalidate();
                
            string w = System.Text.ASCIIEncoding.ASCII.GetString(otv);
            this.NETy.Text = "читал";   
            this.Znachenie.Text = w;
            this.Znachenie.Invalidate();
            }
            
            
        }
Код




  this.Serport - это обьект SerialPort связь устанавливается нормально, я проверял через терминал,
посыл данных идет а прием очень странно работает, программа получает ответ только после того как я набираю на той стороне 5 символов, а до тех пор ждет, а мне нужно чтобы все прорабатывалось как только приходит 4 байта.

Автор: Freak_FB 11.3.2008, 20:17
А может быть, пропадает первый символ куда-то? Проверь через DEBUG, какие байты получаются каждый раз при вызове ReadByte().
Побольше отладочных записей -  smile и всё станет понятнее.

Автор: bvn123 27.3.2008, 12:38
Подскажите, пожалуйста,

можно ли вашу программу связи через СОМ-порт отладить, пользуясь эмуляторами КПК или смартфонов в Visual Studio 2005 

или связь, например, с терминалом того же РС, на котором выполняется программирование КПК, 
эмулировать не получится?




Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)