Difference between revisions of "ASYNC EXTSETBAUDRATE (43h)"

From EDM2
Jump to: navigation, search
(Created page with "This function sets the bit rate in doublewords to cover bit rates higher than 19200 bps. ; Category:IOCTL_ASYNC (01h) ; Function: ASYNC_EXTSETBAUDRATE (43h) ==Parameter P...")
 
(No difference)

Latest revision as of 21:28, 26 March 2020

This function sets the bit rate in doublewords to cover bit rates higher than 19200 bps.

Category
IOCTL_ASYNC (01h)
Function
ASYNC_EXTSETBAUDRATE (43h)

Parameter Packet Format

┌────────────────────────────────────┐
│Field        Length     C Datatype  │
├────────────────────────────────────┤
│Bit Rate     DWORD      ULONG       │
├────────────────────────────────────┤
│Fraction     BYTE       UCHAR       │
└────────────────────────────────────┘

Data Packet Format

None. Packet pointer must be NULL.

Returns

If the call is made with invalid Parameter Packet values or an invalid Data Packet pointer, a general failure error is reported.

Remarks

If a general failure error is not returned, the physical device driver performs the action described in the Bit Rate field. An OPEN request packet does not cause the physical device driver to change the bit rate from its previous value. The initial value is 1200 bps.

The physical ASYNC device driver is designed to handle high bit rates under optimum conditions. To achieve successful data transfer operations at high bit rates and to obtain high data throughput, the following conditions must be met:

  • The connecting cables must be free from electrical noise and must maintain the voltage conforming to the RS232-C standard. IBM Personal Computer* Communication adapter cables (P/N 6323741 or 1502067) can guarantee this for up to 20 feet.
  • DMA capability must be available.
  • There is little system overhead. Operations at high bit rates require many CPU cycles. It is important that no other tasks be active and that the ASYNC Communication application be written to reduce the CPU overhead as much as possible.

ASYNC Communication applications should have optimal data block sizes for DosRead or DosWrite requests to the physical ASYNC device driver. In general, as block size increases, the overhead related to making those requests decreases. However, these applications might need more time to handle large data chunks for CRC checking or saving the data into a file as this takes CPU cycles away from the physical ASYNC device driver.

  • Appropriate communication protocols might be required for the prevention of the physical ASYNC device driver receive buffer overflow.
  • Applications should not use the Error or Break Replacement operations. If these options are taken, the physical ASYNC device driver runs in Data/Status mode and cannot take advantage of 80386 machine instructions, such as REP MOVED. The physical device driver then has to check each status byte, which slows down the performance.

This function is extended from ASYNC_SETBAUDRATE.