Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
В компоненте для принимаемых данных создается отдельный поток.
В этом потоке с интервалом, установленном в свойстве PollingDelay проверяется состояние приемного буфера последовательного порта.
И если есть данные, они считываются в промежуточный буфер и вызывается событие OnReceiveData.
Т.е. это можно все ручками наструячить, используя Win Api, как это многие тут практикуют (испорчены языком ЦЕ :) ) Но зачем лишние телодвижения, когда оно уже реализовано в компоненте (нафига тогда бы эти дельфя были нужны) и проверено практикой (именно для этого компонента).
И еще - в компоненте реализован (правда в зачаточном виде) режим пакетной обработки входных данных. По размеру пакета и временнЫм интервалам. Но я лично его не пользовал ни разу - слишком убого.
Для этого есть мощнейший набор компонетов - AsyncPro, если возникает такая необходимость. Например, для парсинга ответов модема и пр...
Составить ответ | Вернуться на конференцию
Ответы
- зацепить из Дельфи API по примеру ровно столько же сил сколько компанент... Но API - это К.Маркс и Ф.Энгельс, а компонент чей-то - это адвокатишко кончивший Казанский университет.... возможно, с головой набитой ошибками... Которые вылезут в самый неудобный момент... - basilmak (22.08.2010, 12:06:37 89.191.241.237, пустое)
- Ответ: я пользуюсь Comport Library by Dejan Crnila , там реализована и пакетная обработка, указывается символ начала , конца или длины пакета... - aha (22.08.2010, 10:49:54 192.168.1.36,212.193.134.82, пустое)
- у меня пакеты предпологаются по 128 байт. но это уже потом посмотрю... - nestandart (22.08.2010, 04:49:10 92.74.175.2, пустое)