Вiзуальний облiк вхiдних даних iнтерфейсу RS-232
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
?ися, то можна помiтити, що ця структура мiстить майже всю керуючу iнформацiю, що у реальностi розташовуСФться в рiзних регiстрах послiдовного порту. Тепер розберемося, що означаСФ кожне з полiв найважливiшоi структури: DCBlength
ЗадаСФ довжину, у байтах, структури DCB. ВикористовуСФться для контролю коректностi структури при передачi ii адреси у функцii настроювання порту.
BaudRate Швидкiсть передачi даних. Можлива вказiвка наступних констант: CBR_110, CBR_300, CBR_600, CBR_1200, CBR_2400, CBR_4800, CBR_9600, CBR_14400, CBR_19200, CBR_38400, CBR_56000, CBR_57600, CBR_115200, CBR_128000, CBR_256000. Як видно, цi константи вiдповiдають усiм стандартним швидкостям обмiну. Насправдi, це поле мiстить числове значення швидкостi передачi, а константи просто СФ символiчними iменами. Тому можна вказувати, наприклад, i CBR_9600, i просто 9600. Однак рекомендуСФться вказувати символiчнi константи.
fBinary
ВключаСФ двiйковий режим обмiну. Win32 не пiдтримуСФ недвiйковий режим, тому дане поле завжди повинне бути дорiвнюСФ 1, або логiчнiй константi TRUE. У Windows 3.1, якщо це поле було дорiвнюСФ FALSE, включаСФться текстовий режим обмiну. У цьому режимi символ, що надiйшов на вхiд порту, заданий полем EofChar свiдчив про кiнець прийнятих даних.
fParity
ВключаСФ режим контролю парностi. Якщо це поле дорiвнюСФ TRUE, то виконуСФться перевiрка парностi, при помилцi у програму, видаСФться вiдповiдний код завершення.
fOutxCtsFlow
ВключаСФ режим спостереження за сигналом CTS. Якщо це поле дорiвнюСФ TRUE i сигнал CTS скинутий, передача даних припиняСФться до установки сигналу CTS. Це дозволяСФ пiдключеному до компютера приладу призупинити потiк передачi в нього iнформацii, якщо вiн не встигаСФ ii обробляти.
fOutxDsrFlow
ВключаСФ режим спостереження за сигналом DSR. Якщо це поле дорiвнюСФ TRUE i сигнал DSR скинутий, передача даних припиняСФться до установки сигналу DSR.
fDtrControl
ЗадаСФ режим керування обмiном для сигналу DTR. Це поле може приймати наступнi значення:
DTR_CONTROL_DISABLE - ЗабороняСФ використання лiнii DTR
DTR_CONTROL_ENABLE - ДозволяСФ використання лiнii DTR
DTR_CONTROL_HANDSHAKE - ДозволяСФ використання рукостискання для виходу з помилкових ситуацiй. Цей режим використовуСФться, зокрема, модемами при вiдновленнi в ситуацii втрати звязку.
fDsrSensitivity
ЗадаСФ чутливiсть комунiкацiйного драйвера до стану лiнii DSR. Якщо це поле дорiвнюСФ TRUE, то всi прийнятi данi iгноруються драйвером (комунiкацiйний драйвер розташований в операцiйнiй системi), за винятком тих, котрi приймаються при установленом сигналi DSR.
fTXContinueOnXoff
ЗадаСФ, чи припиняСФться передача при переповненнi буфера прийому i передачi драйвером символу XoffChar. Якщо це поле дорiвнюСФ TRUE, то передача продовжуСФться, незважаючи на те, що буфер прийому мiстить бiльш XoffLim символiв i близький до переповнення, а драйвер передав символ XoffChar для призупинення потоку прийнятих даних. Якщо поле дорiвнюСФ FALSE, то передача не буде продовжена доти, поки в буферi прийомуне залишиться менше XonLim символiв i драйвер не передасть символ XonChar для поновлення потоку прийнятих даних. У такий спосiб це поле вводить якусь залежнiсть мiж керуванням вхiдним i вихiдним потоками iнформацii.
fOut
ЗадаСФ використання XON/XOFF керування потоком при передачi. Якщо це поле дорiвнюСФ TRUE, то передача зупиняСФться при прийомi символу XoffChar, i вiдновляСФться при прийомi символу XonChar.
fIn
ЗадаСФ використання XON/XOFF керування потоком при прийомi. Якщо це поле дорiвнюСФ TRUE, то драйвер передаСФ символ XoffChar, коли в буферi прийому знаходиться бiльш нiж XoffLim i XonChar, коли в буферi залишаСФться менш XonLim символiв.
fErrorChar
ВказуСФ на необхiднiсть замiни символiв з помилкою парностi на символ, що задаСФться полем ErrorChar. Якщо це поле дорiвнюСФ TRUE, i поле fParity дорiвнюСФ TRUE, то виконуСФться замiна.
fNull
ВизначаСФ дiя, яка виконуСФться при прийомi нульового байта. Якщо це поле TRUE, то нульовi байти вiдкидаються при передачi.
fRtsControl
ЗадаСФ режим керування потоком для сигналу RTS. Якщо це поле дорiвнюСФ 0, то за замовчуванням маСФться на увазi RTS_CONTROL_HANDSHAKE. Поле може приймати одне з наступних значень:
RTS_CONTROL_DISABLE - ЗабороняСФ використання лiнii RTS
RTS_CONTROL_ENABLE - ДозволяСФ використання лiнii RTS
RTS_CONTROL_HANDSHAKE - ДозволяСФ використання RTS рукостискання. Драйвер встановлюСФ сигнал RTS коли прийомний буфер заповнений менш, нiж на половину, i скидаСФ, коли буфер заповнюСФться бiльш нiж на три чвертi.
RTS_CONTROL_TOGGLE - ЗадаСФ, що сигнал RTS встановлений, коли СФ данi для передачi. Коли всi символи з буфера переданi, сигнал скидаСФться.
fAbortOnError
ЗадаСФ iгнорування всiх операцiй читання/запису при виникненнi помилки. Якщо це поле дорiвнюСФ TRUE, драйвер припиняСФ всi операцii читання/запису для порту при виникненнi помилки. Продовжувати працювати з портом можна буде тiльки пiсля усунення причини помилки i виклику функцii ClearCommError.
fDummy2
Зарезервовано i не використовуСФться.
wReserved
Не використовуСФться i повино бути встановлене в 0.
XonLim
ЗадаСФ мiнiмальне число символiв в буферi прийому перед посилкою символу XON.
XoffLim
ВизначаСФ максимальну кiлькiсть байт у буферi прийому перед посилкою символу XOFF. Максимально припустима кiлькiсть байт у буферi обчислюСФться вирахуванням даного значення з розмiру применого буфера в байтах.
ByteSize
ВизначаСФ число iнформацiйних бiт у переданих i прийнятих байтах.
Parity
ВизначаСФ вибiр схеми контролю парностi. Дане поле повинне мiстити одне з наступних значень:
EVENPARITY
Доповнення до парностi
MARKPARITY
Бiт парностi завжди 1
NOPARITY
Бiт парностi вiдсутнiй
ODDPARITY
Доповнення до непарностi
SPACEPARITY
Бiт п