64 lines
1.7 KiB
ReStructuredText
64 lines
1.7 KiB
ReStructuredText
.. _usb_cdc-acm_composite:
|
|
|
|
USB CDC ACM Sample Composite Application
|
|
########################################
|
|
|
|
Overview
|
|
********
|
|
|
|
This sample app demonstrates use of a USB Communication Device Class (CDC)
|
|
Abstract Control Model (ACM) driver provided by the Zephyr project in
|
|
Composite configuration.
|
|
|
|
Two serial ports are created when the device is plugged to the PC.
|
|
Received data from one serial port is sent to another serial port
|
|
provided by this driver.
|
|
|
|
Running
|
|
*******
|
|
|
|
Plug the board into a host device, for example, a PC running Linux.
|
|
The board will be detected as shown by the Linux dmesg command:
|
|
|
|
.. code-block:: console
|
|
|
|
usb 1-1.5.4: new full-speed USB device number 28 using ehci-pci
|
|
usb 1-1.5.4: New USB device found, idVendor=2fe3, idProduct=0002, bcdDevice= 2.03
|
|
usb 1-1.5.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
|
|
usb 1-1.5.4: Product: Zephyr CDC ACM Composite sample
|
|
usb 1-1.5.4: Manufacturer: ZEPHYR
|
|
usb 1-1.5.4: SerialNumber: 86FE679A598AC47A
|
|
cdc_acm 1-1.5.4:1.0: ttyACM1: USB ACM device
|
|
cdc_acm 1-1.5.4:1.2: ttyACM2: USB ACM device
|
|
|
|
The app prints on serial output, used for the console:
|
|
|
|
.. code-block:: console
|
|
|
|
Wait for DTR
|
|
|
|
Open a serial port emulator, for example, minicom,
|
|
and attach it to both detected CDC ACM devices:
|
|
|
|
.. code-block:: console
|
|
|
|
minicom --device /dev/ttyACM1
|
|
minicom --device /dev/ttyACM2
|
|
|
|
The app should respond on serial output with:
|
|
|
|
.. code-block:: console
|
|
|
|
DTR set, start test
|
|
Baudrate detected: 115200
|
|
Baudrate detected: 115200
|
|
|
|
And on ttyACM devices provided by the Zephyr USB device stack:
|
|
|
|
.. code-block:: console
|
|
|
|
Send characters to another UART device
|
|
|
|
The characters entered in one serial port will be sent to another
|
|
serial port.
|