Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi: WinAPI
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
mactator
0 / 0 / 2
Регистрация: 08.11.2011
Сообщений: 19
#1

Работа с COM портами WinAPI, конкретно функция ClearCommError

06.04.2012, 11:22. Просмотров 2960. Ответов 1
Метки нет (Все метки)

Всем доброго времени суток, я вообще не программист, программирую от случая к случаю, пишу программу для работы с Com портом, котрая должна общаться с таблом типа LED MATRIX. От компонентов решил отказаться, пишу на WinAPI. Мне нужно интерпретировать значения отправляемые функцией ClearCommError в одну из переменных, а именно в lpErrors

Вот объявление функции в Windows.pas:
Delphi
1
2
function ClearCommError(hFile: THandle; var lpErrors: DWORD; lpStat: PComStat): BOOL; stdcall;
{$EXTERNALSYM ClearCommError}
Вот что нарыл в инете про эту переменную (lpErrors), как вставить риунок в конкретное место я не понял см в миниатюрах.
Значения флагов CE_BREAK и т.д. естественно тоже объявлены в Виндовс.пас, вот они:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
...
function GetFreeSpace(w: Word): DWORD;
...
const
...
  CE_RXOVER = 1;        { Receive Queue overflow }
  {$EXTERNALSYM CE_RXOVER}
  CE_OVERRUN = 2;       { Receive Overrun Error }
  {$EXTERNALSYM CE_OVERRUN}
  CE_RXPARITY = 4;      { Receive Parity Error }
  {$EXTERNALSYM CE_RXPARITY}
  CE_FRAME = 8;         { Receive Framing error }
  {$EXTERNALSYM CE_FRAME}
  CE_BREAK = $10;       { Break Detected }
  {$EXTERNALSYM CE_BREAK}
  CE_TXFULL = $100;     { TX Queue is full }
  {$EXTERNALSYM CE_TXFULL}
  CE_PTO = $200;        { LPTx Timeout }
  {$EXTERNALSYM CE_PTO}
  CE_IOE = $400;        { LPTx I/O Error }
  {$EXTERNALSYM CE_IOE}
  CE_DNS = $800;        { LPTx Device not selected }
  {$EXTERNALSYM CE_DNS}
  CE_OOP = $1000;       { LPTx Out-Of-Paper }
  {$EXTERNALSYM CE_OOP}
  CE_MODE = $8000;      { Requested mode unsupported }
  {$EXTERNALSYM CE_MODE}
...
Отлаживаю программу, и смотрю какое значение отправляется в lpErrors, фактическая переменная Errs:
Delphi
1
ClearCommError(POrt,Errs,@ComStat);
И в Watch List-е вижу:
WatchName: Errs
Value: $12F95C - смотрю в Хексе
А теперь внимание вопрос - как мне интерпретировать данное значение, с учетом того, что может быть установлено несколько бит как написано (см рис).

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Миниатюры
Работа с COM портами WinAPI, конкретно функция ClearCommError  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2012, 11:22
Ответы с готовыми решениями:

Функция winApi WriteFileEx()
Сейчас столкнулся с асинхронными файловыми операциями (I/O). Нашел в сети...

функция winApi CreateFileMapping()
Сейчас столкнулся с проблемой. Полное непонимание FileMapping Есть следующий...

Как увидеть то, что вернула функция WinApi?
например вот такая процедура procedure TForm1.btnSysDirClick(Sender: TObject);...

Какая функция winapi возвращает результатом значение по адресу памяти (указатель)?
Какая функция winapi возвращает результатом значение по адресу памяти...

Работа с WinAPI (PostMessage)
проблема с окном нарисованным в дериктХ,надло послать строку чату,например,...

1
mactator
0 / 0 / 2
Регистрация: 08.11.2011
Сообщений: 19
09.04.2012, 09:04  [ТС] #2
Что никто не может мне помочь?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.04.2012, 09:04

WINAPI работа с окнами
Помогите пожалуйста разобраться с двумя проблемками... создаю окно следующим...

Что конкретно делает функция mysql_query?
Задался тут на дня вопросом, может быть кто мне ответит. Я пишу в скрипте ...

Есть ли какая то функция считывающая с консоли конкретно строку?
1. нумерация массивов как я помню еще со школы в паскале всегда была с единицы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru