------------------------------------------------------------------------------ README ------------------------------------------------------------------------------ This example demonstrates the following: * Using the USB controller * Setting up a simple usb to serial converter (CDCACM) File list: * usb_cdcacm.c - implementation of the CDCACM subclass * uart.c - implementation of UART peripheral * usb_to_serial_cdcacm.c - glue logic between UART and CDCACM device * usb_to_serial_cdcacm.h - common definitions Implements a USB-to-serial adapter, compliant to the CDCACM subclass. UART1 is used for the TX/RX lines. Although UART1 also has lines for flow control, they are not used. Instead, the control lines are implemented in software via GPIOA. The following pinout is used: Tx <- PB1 Rx -> PB0 DCD -> PA2 DSR -> PA3 RI -> PA4 CTS -> PA5 (UNUSED) DTR <- PA6 RTS <- PA7 Note that the CTS pin is unused. The CDCACM specification does not define a way to control this pin, nor does it define a way to switch between flow control mechanisms. The glue logic in usb_to_serial_cdcacm.c receives requests from both the UART and CDCACM interface, and forward them to their destination, while also controlling the LEDs The green LED is lit as long as either DTR or RTS are high. The red LED is lit while the UART is sending data. The blue LED is lit while data is read from the UART. The red and blue LEDs will only be lit for very short periods of time, thus they may be difficult to notice.