.


:




:

































 

 

 

 


. USB COM




USB COM

COM

 

, , , , , " . , . - (serial ports) .

, . , . ֳ Serial Interface Serial Port. , .

(, ) ' ', . : , , . - , ' '. - .

IRQ4 ( COM1 COM3) IRQ3 ( COM2 COM4). , IRQ11 ( IRQ4) IRQ10 ( IRQ3). , ( ) .

, ISA, , , . : RS-232C, RS-423A, RS-422A RS-485. PC RS-232C. RS-485, RS-422A, .

RS-232C , ( ), (). ', , . ֳ DTE Data Terminal Equipment. , D Data Communication Equipment. ʳ ' DTE, ' . 1.1. ' DTE (), ' - (. 1.2).

 

. 1.1. ' RS-232C

 

. 1.2. ' RS-232C -

 

, , '. , OM- .

- , ' , ' , , Rs-232c. - , 3 - 4 - .

- (, ). . Serial Mouse - . (9-) -. ' ', , ' - - . - (security devices), . ֳ , , .

 

USB

 

USB (Universal Serial Bus - . " ") - . USB ( 2.0 ) 4 - 2 2 - .

USB , . USB , . ' , . ( ) USB , ' . USB- USB-. - USB-, . USB- , '. ' USB-, USB- . - ( ), USB- . USB - ' , .

USB - ' ', , Ethernet- .

USB . (endpoint) . . . ʳ , , , 4 - (bulk), (control), (isoch) (interrupt). , , , .

- . - 0, , , , .

, , /, - N . , ( / / ).

/ , N (1 low full speed, 8 high speed). - .

, ( ), . , , .

, 񳺿 . , , , .

, , ( ). , DMA DMA-, .

( ). ³ , USB.

, -, USB Firewire. -: 1 璺, C2

-, , : , , ( ). -, (. 1.3). - - -, . -, ( 0), . , , . , -. , , . , . , 8 , - , , 5%. ( ) , . ( ), ' , , . , , , . .

 

. 1.3.

 

:

, , - , - . .

, -, , - ( ).

, ( -) . . .

: 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600 115200 /. ʳ 5, 6, 7 8 (5- 6- ). ʳ - 1, 1,5 2. PC OM- RS-232C.

'. , . , . , , . , , , , .

- (. 1.4). , .


. 1.4 -

 

, :

1. DTR ' .

2. DSR '.

3. RTS ' .

4. CTS ' .

5. CTS (, ) ' .

6. ³ CTS ' ( ' ).

7. RTS ' ( '), . '.

8. RTS CTS.

9. ' RTS .

10. .

11. ' .

12. .

13. ' DTR, ' ( ).

14. DSR '.

, (, NRZ), . - ', ( , , ). PC SDLC, . ' (mainframes) IBM ( ). V.35.

USB Intel, Microsoft, Philips, US Robotics. USB ' . :

'. ' (. legacy) (PS/2, , , , SCSI), '.

ϳ ' . , ' , .

. (, (COM) (LPT) ) , Plug and Play. 䳿 ' - , , , .

ϳ USB Windows 95, Windows 98. USB , Useless serial bus - . , USB, 2000 .

Hewlett-Packard, Intel, Lucent ( Alcatel-Lucent), Microsoft, NEC Philips USB. USB 2.0 2000 , 2001 USB Implementers Forum. USB 2.0 USB.

, 2000- Apple FireWire, . iPod FireWire, USB . FireWire USB, FireWire . , , 90- , USB.

2000- BIOS' ' USB ( USB 90-). -, , , PS/2-. 20 USB - . COM LPT , ' ' COM- .

USB - , USB 2.0 - , . , 2008 . 4 , 5 . USB 3.0 2010 . 2012 USB 3.0 , ' . USB- , USB 3.0. , USB 3.0 '.

: -, -, . : , -, -.

: 50, 75, 100, 150, 300, 600, 1200, 2400, 4800, 9600, 19 200, 38 400, 57 600 115 200 /. / (baud), , - . , ( ) ' ( ) () .

ʳ 5, 6, 7 8 (5- 6- ). ʳ - 1, 1,5 2 ( ).

- (-): , , (). ( -) - , , .

(flow control) RTS/CTS XON/XOFF. . (handshaking) , . .

XON/XOFF (. 1.5) . : , , , , -. , , . , , .



. 1.5 XON/XOFF

 

, , 3 . , ( - XON), . , , ( ) , .

- Int 14h BIOS, :

1) ( , AL; ). DTR RTS ( );

2) -. DTR RTS;

3) . 2400 /, 7 (even), 1 -.

璺 , Intel, USB Intel 440FX Pentium Pro Pentium II. USB Microsoft Windows 95 Windows NT 4.0. USB . .

USB 1.0 12 / . USB , , , 1998 Universal Serial Bus. 1.1 , , . USB 1.1 . 1,5 / 12 / .

ij USB 2000 High-Speed USB 2.0. 40 - 480 / . USB. 璺 璺 USB 2.0.

, USB 2.0, 2002 , . 480 / , : -, , MP 3-, .

ҳ USB 2.0 . 璺 , 璺 .

/ , USB 2.0, . SuperSpeed USB 3.0, USB .

2008 USB Implementers Forum USB 3.0. . USB 3.0. 5 / 500 /. , .


2.1 Borland C++

Borland C++, . , .

, ++ , , , . . Borland ++ , , , . / * : /* */, / // . ϳ ;.

. ϳ , # include (). h <_> "_" - : #include <windows.h>. main, , . main , main, : int main(). , , , , , , -, . ҳ , , main , . , , : { , }.

++ , return _, _ - ( 䒺 0), , . main int void.

(. stream) , , . Unix , C++, , .

, , ' . . C++ iostream . . , . , ' , , ( , ) . , , - ( ) , . Scheme , . , , . . - , , , . - , , .

, COM-, MS DOS . Win32 . . , Windows , (i8055, 16450, 16550A) .

Win32 . CreateFile. Win32 API. :

HANDLE CreateFile(

LPCTSTR lpFileName,

DWORD dwDesiredAccess,

DWORD dwShareMode,

LPSECURITY_ATTRIBUTES lpSecurityAttributes,

DWORD dwCreationDistribution,

DWORD dwFlagsAndAttributes,

HANDLE hTemplateFile

);

CreateFile , , , (CONIN $ CONOUT $), , , . , '. CreateFile (CONIN $). , , (CONOUT $). AllocConsole.

COM-:

#include <windows.h>

//...

HANDLE Port;

Port = CreateFile("\\\\.\\COM2", GENERIC_READ | GENERIC_WRITE, 0,

NULL, OPEN_EXISTING, 0, NULL);

if (Port == INVALID_HANDLE_VALUE) {

MessageBox(NULL, " ", "Error", MB_OK);

ExitProcess(1);

}

//...

CloseHandle(Port);

//...

2 , . , . , .

. , , . , :

CreateFile("COM1", GENERIC_READ | GENERIC_WRITE, 0, NULL,

OPEN_EXISTING, 0, NULL);

dwFlagsAndAttributes 0. ϳ , ReadFile () WriteFile ().

HANDLE port = CreateFile("COM1", GENERIC_READ |

GENERIC_WRITE, 0, NULL,OPEN_EXISTING, 0, NULL);

unsigned char dst[1024] = {0};

unsigned long size = sizeof(dst);

if(port!= INVALID_HANDLE_VALUE)

if(ReadFile(port,dst,size, &size,0))

printf("\nRead %d bytes",size);

, ReadFile (), . , . . CreateFile () dwFlagsAndAttributes FILE_FLAG_OVERLAPPED.

CreateFile("COM1", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL);

 





:


: 2016-09-06; !; : 897 |


:

:

, .
==> ...

1765 - | 1598 -


© 2015-2024 lektsii.org - -

: 0.071 .