Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];

Вниз

Циклический опрос COM порта   Найти похожие ветки 

 
belenkov ©   (2006-01-17 17:10) [0]

Доброго время суток уважаемые Мастера!

Повторно хочу задать вопрос о циклическом опросе (по таймеру) железяки, подключенной к COM порту.

В железяку засылается команда из 23 байт, железяка должна выдать ответ тоже 23 байта.

Пользуюсь TViaCom (собственно один из множества аналогичных)


var   RBuf, Buf: Array[0..22] of Byte;

procedure TfMain.Timer1Timer(Sender: TObject);
begin
 Comm1.WriteBuf(Buf,23); // Посылаем команду
 Sleep(100); //Ждемс ..
 Comm1.ReadBuf(RBuf,23);// Читаем ответ
end;


Работает отвратительно. Посоветуйте плиииз как правильно сделать.


 
MBo ©   (2006-01-17 17:33) [1]

читать нужно по событию прихода данных с порта. Есть у этого класса такое?


 
belenkov ©   (2006-01-17 18:33) [2]

Есть OnRxChar

Но он срабатывает по приему первого байта


 
Darvin ©   (2006-01-17 19:10) [3]

Организуй поток TThread и читай в нем :
Comm1.WriteBuf(Buf,23); // Посылаем команду
Comm1.ReadBuf(RBuf,23);// Читаем ответ

Кстати, зачем задержка?
Sleep(100); //Ждемс ..
Она не нужна. Умный компонент не вернет управление, пока не прочитает твои 23 байта


 
belenkov ©   (2006-01-17 19:11) [4]

Если быть точнее в железяке 2 канала


Comm1.WriteBuf(код опроса канала 1,23);
Comm1.ReadBuf(RBuf,23);//
//проводим действия с данными 1 канала

Comm1.WriteBuf(код опроса канала 2,23);
Comm1.ReadBuf(RBuf,23);//
//проводим действия с данными 2 канала



 
Darvin ©   (2006-01-17 19:14) [5]

>Если быть точнее в железяке 2 канала

Это ничего не меняет


 
belenkov ©   (2006-01-17 19:15) [6]

Если можно пример, как организовать поток


 
Darvin ©   (2006-01-17 19:20) [7]

TThread + F1


 
belenkov ©   (2006-01-17 19:23) [8]

;-) спасибо



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.067 c
15-1138438980
ArtemESC
2006-01-28 12:03
2006.02.19
Файлы chm


2-1139040526
Julia
2006-02-04 11:08
2006.02.19
Как объявить тип TDateSetState?


15-1138265524
AlexD
2006-01-26 11:52
2006.02.19
Windows XP


15-1138536700
Pazitron_Brain
2006-01-29 15:11
2006.02.19
Какой самый легкий для изучения


1-1137507030
belenkov
2006-01-17 17:10
2006.02.19
Циклический опрос COM порта





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский