КатегорииОпрос по сайтуПытаетесь ли Вы беречь электроэнергию?
| ![]() |
Часть 18. Основные физические законы в микроэлектронике.Работа через функции Win32 API. Фактически передача и прием данных через СОМпорт не один раз описаны во огромном количестве публикаций и на теоретическом уровне в их ничего сложного нет. На практике, но, могут появиться трудности различного уровня трудности, в особенности касающиеся непрерывного приема данных в настоящем времени. Дальше я описываю лишь испытанные методы работы (почти все публикации в Вебе содержат ошибки, и к тому же не обрисовывают ситуацию стопроцентно). Начнем мы с самого головного — с отдельной процедуры инициализации порта, которую назовем inicoM. СОМпорт представляется исходя из убеждений системы в виде файла, поэтому его поначалу необходимо открыть («создать файл»). Но этого недостаточно — нужно проверить его работоспособность, и факт, не является ли запрошенный СОМпорт модемом. Объявим последующие переменные: var Forml: TForml; hCOM: hFile=0; pDCB: TDCB; comt ime: TCOMMTIMEOUTS; xb: byte; xn: dword; ab: array[l.32768] of byte; st, stcom: string; ttime, told: TDateTime; Размер буфера ab может быть произвольным зависимо от количества ожидаемых данных (в этом случае он подогнан для чтения данных из применяемой нами наружной flashпамяти). К началу выполнения процедуры inicoM у нас в строке stcom обязано содержаться заглавие порта, к примеру, «СОМ1». Задаваемые характеристики: прием по схеме 8п1, скорость 9600. Текст процедуры приведен в листинге 18.1. Листинг 18.1 procedure IniCOM; var i: integer; begin {инициализация СОМ — номер в строке stcom} hCOM:=CreateFile(Pchar(stcom), GENERIC_READ+GENERIC_WRITE,0, ni1, OPEN_EXISTING,0,0); | ![]() |
||
|
| |||||