5  2009
    AVR-CDC (CDC-232) -  USB-COM.    http://www.recursion.jp/avrcdc/cdc-232.html    ATmega16.    AVR Studio 4.14.589,      default\Makefile.
    
      :
1. usbconfig.h: #define USB_CFG_DMINUS_BIT 4 (  3)
2. default\Makefile: -DF_CPU=16000000UL (  12000000UL)
3. default\Makefile: MCU = atmega16 (  atmega8)
4.  : 
## Include Directories
INCLUDES = -I".." -I"../usbdrv"
## Compile
usbdrvasm.o: ../usbdrv/usbdrvasm.S
usbdrv.o: ../usbdrv/usbdrv.c
oddebug.o: ../usbdrv/oddebug.c

      ATmega16.     (Flow Control, DTR/DSR, RTS/CTS, XON/XOFF).  / RS232C    ATmega16 (TQFP44):
RXD     .  9, PD0 ( P17  AVR-USB-MEGA16)
TXD     . 10, PD1 ( P18  AVR-USB-MEGA16)

  COM-    -  9600 /, 8  ,   , 1 -. ,      (Osamu Tamura @ Recursion Co.),  UART   PC ,     1200-57600 bps,  7/8 ,  N/E/O,  1/2 .

    CDC-232    Windows     HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_16c0&Pid_05e1    5&160f4e1&0&2,       .      USB     COM- . ,       COM5,     COM6,  . .       5&160f4e1&0&2 -     ,   Windows ,       .    (   COM-  ) ,       CDC-232.     USB_CFG_SERIAL_NUMBER  USB_CFG_SERIAL_NUMBER_LEN  usbconfig.h.     (    COM-),     ,    ,  (   USB_CFG_SERIAL_NUMBER_LEN      USB_CFG_SERIAL_NUMBER):
#define USB_CFG_SERIAL_NUMBER   '1', '2', '3', '4'
#define USB_CFG_SERIAL_NUMBER_LEN   4

  USB_CFG_SERIAL_NUMBER     .               HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_16c0&Pid_05e1   1234 (       ).  -        usbconfig.h,        CDC-232    .

 (fuse bits)  ATmega16  - FUSE_L = ff, FUSE_H = 09.

------------------------------------------------------------------------------------------------------------
8  2010
      CDC-232.    :

1. main.c -> main() -> usbPoll()       USB.

2. main.c -> main() -> uartPoll()      UART.

3. uart.c -> uchar rx_buf[RX_SIZE], tx_buf[TX_SIZE];       .  uart.h -> #define RX_SIZE 256  #define TX_SIZE 128  .

4. uart.c:      UART:
iwptr      
urptr     
uwptr      
irptr     

5.  rx_buf   uartPoll (  ).    ,   usbSetInterrupt   . 

6.  tx_buf   uartPoll (  ).    main.c -> usbFunctionWriteOut.     usbProcessRx,       usbPoll.

 ,             COM-:
a)   uartPoll  usbSetInterrupt,     RS232c.
b)   UsbSend,       tx_usb     usbSetInterrupt.
c)  ,          tx_usb.

          COM-:
d)   usbFunctionWriteOut.       rx_usb,      main.
