1 Star 0 Fork 0

AIKoder/serial_isr_nrf52840dongle

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
.. zephyr:code-sample:: usb-cdc-acm
   :name: USB CDC-ACM
   :relevant-api: usbd_api _usb_device_core_api

   Use USB CDC-ACM driver to implement a serial port echo.

Overview

This sample app demonstrates use of a USB Communication Device Class (CDC) Abstract Control Model (ACM) driver provided by the Zephyr project. Received data from the serial port is echoed back to the same port provided by this driver. This sample can be found under :zephyr_file:`samples/subsys/usb/cdc_acm` in the Zephyr project tree.

Requirements

This project requires an USB device driver, which is available for multiple boards supported in Zephyr.

Building and Running

Reel Board

To see the console output of the app, open a serial port emulator and attach it to the USB to TTL Serial cable. Build and flash the project:

.. zephyr-app-commands::
   :zephyr-app: samples/subsys/usb/cdc_acm
   :board: reel_board
   :goals: flash
   :compact:

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:

usb 9-1: new full-speed USB device number 112 using uhci_hcd
usb 9-1: New USB device found, idVendor=8086, idProduct=f8a1
usb 9-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 9-1: Product: CDC-ACM
usb 9-1: Manufacturer: Intel
usb 9-1: SerialNumber: 00.01
cdc_acm 9-1:1.0: ttyACM1: USB ACM device

The app prints on serial output (UART1), used for the console:

Wait for DTR

Open a serial port emulator, for example minicom and attach it to detected CDC ACM device:

minicom --device /dev/ttyACM1

The app should respond on serial output with:

DTR set, start test
Baudrate detected: 115200

And on ttyACM device, provided by zephyr USB device stack:

Send characters to the UART device
Characters read:

The characters entered in serial port emulator will be echoed back.

Troubleshooting

If the ModemManager runs on your operating system, it will try to access the CDC ACM device and maybe you can see several characters including "AT" on the terminal attached to the CDC ACM device. You can add or extend the udev rule for your board to inform ModemManager to skip the CDC ACM device. For this example, it would look like this:

ATTRS{idVendor}=="8086" ATTRS{idProduct}=="f8a1", ENV{ID_MM_DEVICE_IGNORE}="1"

You can use /lib/udev/rules.d/77-mm-usb-device-blacklist.rules as reference.

空文件

简介

for nrf52840dongle 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/aikoder_1/serial_isr_nrf52840dongle.git
git@gitee.com:aikoder_1/serial_isr_nrf52840dongle.git
aikoder_1
serial_isr_nrf52840dongle
serial_isr_nrf52840dongle
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385