Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Com порт. Как обойти задержку при чтении из порта. 
V
    Опции темы
RastaDja
Дата 24.2.2011, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 337
Регистрация: 1.11.2010

Репутация: нет
Всего: 5



Доброго времени суток!

Вот есть такой код:
Код

public partial class CP : Form
    {
        MSCommClass m_cport;
            
        public CP()
        {    
            m_cport = new MSCommClass();
            m_cport.CommPort = 3;
            m_cport.Settings = "9600,N,8,1";
            m_cport.InputLen = 0;
            m_cport.InputMode = InputModeConstants.comInputModeText;
            m_cport.RThreshold = 1;
            m_cport.PortOpen = true;
            m_cport.OnComm += new DMSCommEvents_OnCommEventHandler(FOnComm); 
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            m_cport.Output = textBox1.Text.ToString();
        }

        public void FOnComm()
        {
            if (m_cport.CommEvent == (short)OnCommConstants.comEvReceive)
            {
                 MessageBox.Show(m_cport.Input.ToString());    //<- 
            }
            
            m_cport.PortOpen = false;
            this.Close();
        }

Задача стоит в том, чтоб показать MessageBox() и закрыть окно.
Вот только порт не успевает передать все данные. Как узнать получил я все из m_cport.Input или ещё не пришли все данные?

Спассибо



--------------------
The more closely you look at one thing, the less closely can you see something else.
PM MAIL   Вверх
-Mikle-
Дата 24.2.2011, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 17
Всего: 59



Цитата(RastaDja @  24.2.2011,  17:49 Найти цитируемый пост)
Как узнать получил я все из m_cport.Input или ещё не пришли все данные

А как устройство, которое в этот ком-порт передает, оповещает что оно закончило передавать данные?


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
RastaDja
Дата 25.2.2011, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 337
Регистрация: 1.11.2010

Репутация: нет
Всего: 5



-Mikle-, извиняюсь, это я протупил, (я просто учусь пока,) и у меня тестовое устройство с закороченым выходом на вход. Вот поэтому данные приходят сразу после отправки. Если будут проблемы я отпишусь, ато кто его сзнает  smile 


--------------------
The more closely you look at one thing, the less closely can you see something else.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0394 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.