99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

讓開發(fā)板暢游網(wǎng)絡(luò):RT-Thread CherryUSB 驅(qū)動 RNDIS 模塊詳解 | 技術(shù)集結(jié)

RT-Thread官方賬號 ? 2025-07-02 17:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文通過在 RT-Thread 操作系統(tǒng)上,使用CherryUSB 軟件包作為USB Host 協(xié)議棧,驅(qū)動AIR780E 4G Cat.1 模塊 的 RNDIS 功能,并成功接入lwIP 網(wǎng)絡(luò)協(xié)議棧,最終在開發(fā)板上實現(xiàn)了通過 4G 模塊上網(wǎng)的功能,以STM32F429為例。


目錄


新建工程


配置cubemx


配置cherryusb


main.c添加代碼


完成

1 新建工程


8809de64-5723-11f0-9cf1-92fbcf53809c.png


2 配置cubemx


四大件不過多贅述

881e3cf6-5723-11f0-9cf1-92fbcf53809c.png882e97fe-5723-11f0-9cf1-92fbcf53809c.png88664190-5723-11f0-9cf1-92fbcf53809c.png887c74ba-5723-11f0-9cf1-92fbcf53809c.png

打開USB HOST功能

888f5b20-5723-11f0-9cf1-92fbcf53809c.png

打開USB HOST中斷

889d7d7c-5723-11f0-9cf1-92fbcf53809c.png

cubemx配置到此結(jié)束,點擊生成工程,關(guān)閉cubemx


3 配置cherryusb


先編譯一下工程,發(fā)現(xiàn)會有個報錯:

88ba483a-5723-11f0-9cf1-92fbcf53809c.png

把RT_WEAK刪掉重新編譯就不會報錯了

88d3e6aa-5723-11f0-9cf1-92fbcf53809c.png

然后打開RT-Thread Settings,添加軟件包

88ea05ca-5723-11f0-9cf1-92fbcf53809c.png

配置cherryusb

890c30dc-5723-11f0-9cf1-92fbcf53809c.png

其實這里可以只打開rndis,不打開CDC ACM也能驅(qū)動air780實現(xiàn)LWIP上網(wǎng),但是終端會一大堆報紅提示不支持CDC ACM,強(qiáng)迫癥難受所以干脆打開


這時候保存,編譯會有一大堆報錯,不慌,一個一個解決:

1

usb_config.h報錯

8920f6fc-5723-11f0-9cf1-92fbcf53809c.png

解決辦法,在applications文件夾下添加usb_config.h代碼內(nèi)容如下:

/** Copyright (c) 2022, sakumisu** SPDX-License-Identifier: Apache-2.0*/#ifndefCHERRYUSB_CONFIG_H#defineCHERRYUSB_CONFIG_H/* ================ USB common Configuration ================ */#defineCONFIG_USB_PRINTF(...) printf(__VA_ARGS__)#ifndefCONFIG_USB_DBG_LEVEL#defineCONFIG_USB_DBG_LEVEL USB_DBG_INFO#endif/* Enable print with color */#defineCONFIG_USB_PRINTF_COLOR_ENABLE/* data align size when use dma */#ifndefCONFIG_USB_ALIGN_SIZE#defineCONFIG_USB_ALIGN_SIZE 4#endif/* attribute data into no cache ram */#defineUSB_NOCACHE_RAM_SECTION __attribute__((section(".noncacheable")))/* ================= USB Device Stack Configuration ================ *//* Ep0 in and out transfer buffer */#ifndefCONFIG_USBDEV_REQUEST_BUFFER_LEN#defineCONFIG_USBDEV_REQUEST_BUFFER_LEN 512#endif/* Setup packet log for debug */// #define CONFIG_USBDEV_SETUP_LOG_PRINT/* Check if the input descriptor is correct */// #define CONFIG_USBDEV_DESC_CHECK/* Enable test mode */// #define CONFIG_USBDEV_TEST_MODE#ifndefCONFIG_USBDEV_MSC_MAX_LUN#defineCONFIG_USBDEV_MSC_MAX_LUN 1#endif#ifndefCONFIG_USBDEV_MSC_MAX_BUFSIZE#defineCONFIG_USBDEV_MSC_MAX_BUFSIZE 512#endif#ifndefCONFIG_USBDEV_MSC_MANUFACTURER_STRING#defineCONFIG_USBDEV_MSC_MANUFACTURER_STRING""#endif#ifndefCONFIG_USBDEV_MSC_PRODUCT_STRING#defineCONFIG_USBDEV_MSC_PRODUCT_STRING""#endif#ifndefCONFIG_USBDEV_MSC_VERSION_STRING#defineCONFIG_USBDEV_MSC_VERSION_STRING"0.01"#endif// #define CONFIG_USBDEV_MSC_THREAD#ifndefCONFIG_USBDEV_MSC_PRIO#defineCONFIG_USBDEV_MSC_PRIO 4#endif#ifndefCONFIG_USBDEV_MSC_STACKSIZE#defineCONFIG_USBDEV_MSC_STACKSIZE 2048#endif#ifndefCONFIG_USBDEV_RNDIS_RESP_BUFFER_SIZE#defineCONFIG_USBDEV_RNDIS_RESP_BUFFER_SIZE 156#endif#ifndefCONFIG_USBDEV_RNDIS_ETH_MAX_FRAME_SIZE#defineCONFIG_USBDEV_RNDIS_ETH_MAX_FRAME_SIZE 2048#endif#ifndefCONFIG_USBDEV_RNDIS_VENDOR_ID#defineCONFIG_USBDEV_RNDIS_VENDOR_ID 0x0000ffff#endif#ifndefCONFIG_USBDEV_RNDIS_VENDOR_DESC#defineCONFIG_USBDEV_RNDIS_VENDOR_DESC"CherryUSB"#endif#defineCONFIG_USBDEV_RNDIS_USING_LWIP/* ================ USB HOST Stack Configuration ================== */#defineCONFIG_USBHOST_MAX_RHPORTS 1#defineCONFIG_USBHOST_MAX_EXTHUBS 1#defineCONFIG_USBHOST_MAX_EHPORTS 4#defineCONFIG_USBHOST_MAX_INTERFACES 8#defineCONFIG_USBHOST_MAX_INTF_ALTSETTINGS 8#defineCONFIG_USBHOST_MAX_ENDPOINTS 4#defineCONFIG_USBHOST_MAX_CDC_ACM_CLASS 4#defineCONFIG_USBHOST_MAX_HID_CLASS 4#defineCONFIG_USBHOST_MAX_MSC_CLASS 2#defineCONFIG_USBHOST_MAX_AUDIO_CLASS 1#defineCONFIG_USBHOST_MAX_VIDEO_CLASS 1#defineCONFIG_USBHOST_DEV_NAMELEN 16#ifndefCONFIG_USBHOST_PSC_PRIO#defineCONFIG_USBHOST_PSC_PRIO 0#endif#ifndefCONFIG_USBHOST_PSC_STACKSIZE#defineCONFIG_USBHOST_PSC_STACKSIZE 2048#endif//#define CONFIG_USBHOST_GET_STRING_DESC// #define CONFIG_USBHOST_MSOS_ENABLE#ifndefCONFIG_USBHOST_MSOS_VENDOR_CODE#defineCONFIG_USBHOST_MSOS_VENDOR_CODE 0x00#endif/* Ep0 max transfer buffer */#ifndefCONFIG_USBHOST_REQUEST_BUFFER_LEN#defineCONFIG_USBHOST_REQUEST_BUFFER_LEN 2048#endif#ifndefCONFIG_USBHOST_CONTROL_TRANSFER_TIMEOUT#defineCONFIG_USBHOST_CONTROL_TRANSFER_TIMEOUT 500#endif#ifndefCONFIG_USBHOST_MSC_TIMEOUT#defineCONFIG_USBHOST_MSC_TIMEOUT 5000#endif/* This parameter affects usb performance, and depends on (TCP_WND)tcp eceive windows size,* you can change with 2K,4K,8K,16K,default is 2K to get one TCP_MSS*/#ifndefCONFIG_USBHOST_RNDIS_ETH_MAX_RX_SIZE#defineCONFIG_USBHOST_RNDIS_ETH_MAX_RX_SIZE (2048)#endif#ifndefCONFIG_USBHOST_RNDIS_ETH_MAX_TX_SIZE#defineCONFIG_USBHOST_RNDIS_ETH_MAX_TX_SIZE (2048)#endif/* This parameter affects usb performance, and depends on (TCP_WND)tcp eceive windows size,* you can change with 2K,4K,8K,16K,default is 2K to get one TCP_MSS*/#ifndefCONFIG_USBHOST_CDC_NCM_ETH_MAX_RX_SIZE#defineCONFIG_USBHOST_CDC_NCM_ETH_MAX_RX_SIZE (2048)#endif#ifndefCONFIG_USBHOST_CDC_NCM_ETH_MAX_TX_SIZE#defineCONFIG_USBHOST_CDC_NCM_ETH_MAX_TX_SIZE (2048)#endif/* This parameter affects usb performance, and depends on (TCP_WND)tcp eceive windows size,* you can change to 2K ~ 16K and must be larger than TCP RX windows size in order to avoid being overflow.*/#ifndefCONFIG_USBHOST_ASIX_ETH_MAX_RX_SIZE#defineCONFIG_USBHOST_ASIX_ETH_MAX_RX_SIZE (2048)#endif/* Because lwip do not support multi pbuf at a time, so increasing this variable has no performance improvement */#ifndefCONFIG_USBHOST_ASIX_ETH_MAX_TX_SIZE#defineCONFIG_USBHOST_ASIX_ETH_MAX_TX_SIZE (2048)#endif/* This parameter affects usb performance, and depends on (TCP_WND)tcp eceive windows size,* you can change to 2K ~ 16K and must be larger than TCP RX windows size in order to avoid being overflow.*/#ifndefCONFIG_USBHOST_RTL8152_ETH_MAX_RX_SIZE#defineCONFIG_USBHOST_RTL8152_ETH_MAX_RX_SIZE (2048)#endif/* Because lwip do not support multi pbuf at a time, so increasing this variable has no performance improvement */#ifndefCONFIG_USBHOST_RTL8152_ETH_MAX_TX_SIZE#defineCONFIG_USBHOST_RTL8152_ETH_MAX_TX_SIZE (2048)#endif#defineCONFIG_USBHOST_BLUETOOTH_HCI_H4// #define CONFIG_USBHOST_BLUETOOTH_HCI_LOG#ifndefCONFIG_USBHOST_BLUETOOTH_TX_SIZE#defineCONFIG_USBHOST_BLUETOOTH_TX_SIZE 2048#endif#ifndefCONFIG_USBHOST_BLUETOOTH_RX_SIZE#defineCONFIG_USBHOST_BLUETOOTH_RX_SIZE 2048#endif/* ================ USB Device Port Configuration ================*/#ifndefCONFIG_USBDEV_MAX_BUS#defineCONFIG_USBDEV_MAX_BUS 1// for now, bus num must be 1 except hpm ip#endif#ifndefCONFIG_USBDEV_EP_NUM#defineCONFIG_USBDEV_EP_NUM 6#endif/* ---------------- FSDEV Configuration ---------------- *///#define CONFIG_USBDEV_FSDEV_PMA_ACCESS 2 // maybe 1 or 2, many chips may have a difference/* ---------------- DWC2 Configuration ---------------- */// #define CONFIG_USB_DWC2_RXALL_FIFO_SIZE (320)// #define CONFIG_USB_DWC2_TX0_FIFO_SIZE (64 / 4)// #define CONFIG_USB_DWC2_TX1_FIFO_SIZE (512 / 4)// #define CONFIG_USB_DWC2_TX2_FIFO_SIZE (64 / 4)// #define CONFIG_USB_DWC2_TX3_FIFO_SIZE (64 / 4)// #define CONFIG_USB_DWC2_TX4_FIFO_SIZE (0 / 4)// #define CONFIG_USB_DWC2_TX5_FIFO_SIZE (0 / 4)// #define CONFIG_USB_DWC2_TX6_FIFO_SIZE (0 / 4)// #define CONFIG_USB_DWC2_TX7_FIFO_SIZE (0 / 4)// #define CONFIG_USB_DWC2_TX8_FIFO_SIZE (0 / 4)/* ---------------- MUSB Configuration ---------------- */// #define CONFIG_USB_MUSB_SUNXI/* ================ USB Host Port Configuration ==================*/#ifndefCONFIG_USBHOST_MAX_BUS#defineCONFIG_USBHOST_MAX_BUS 1#endif#ifndefCONFIG_USBHOST_PIPE_NUM#defineCONFIG_USBHOST_PIPE_NUM 12#endif/* ---------------- EHCI Configuration ---------------- */#defineCONFIG_USB_EHCI_HCCR_OFFSET (0x0)#defineCONFIG_USB_EHCI_FRAME_LIST_SIZE 1024#defineCONFIG_USB_EHCI_QH_NUM CONFIG_USBHOST_PIPE_NUM#defineCONFIG_USB_EHCI_QTD_NUM 3#defineCONFIG_USB_EHCI_ITD_NUM 20// #define CONFIG_USB_EHCI_HCOR_RESERVED_DISABLE// #define CONFIG_USB_EHCI_CONFIGFLAG// #define CONFIG_USB_EHCI_ISO// #define CONFIG_USB_EHCI_WITH_OHCI/* ---------------- OHCI Configuration ---------------- */#defineCONFIG_USB_OHCI_HCOR_OFFSET (0x0)/* ---------------- XHCI Configuration ---------------- */#defineCONFIG_USB_XHCI_HCCR_OFFSET (0x0)/* ---------------- DWC2 Configuration ---------------- *//* largest non-periodic USB packet used / 4 */#defineCONFIG_USB_DWC2_NPTX_FIFO_SIZE (512 / 4)/* largest periodic USB packet used / 4 */#defineCONFIG_USB_DWC2_PTX_FIFO_SIZE (1024 / 4)/** (largest USB packet used / 4) + 1 for status information + 1 transfer complete +* 1 location each for Bulk/Control endpoint for handling NAK/NYET scenario*/#defineCONFIG_USB_DWC2_RX_FIFO_SIZE ((1012 - CONFIG_USB_DWC2_NPTX_FIFO_SIZE - CONFIG_USB_DWC2_PTX_FIFO_SIZE))/* ---------------- MUSB Configuration ---------------- */// #define CONFIG_USB_MUSB_SUNXI#endif

然后再次編譯,報錯少了很多

893aa6ba-5723-11f0-9cf1-92fbcf53809c.png

2

RT_TIMER_THREAD_STACK_SIZE問題

89551ebe-5723-11f0-9cf1-92fbcf53809c.png

解決辦法

89622ffa-5723-11f0-9cf1-92fbcf53809c.png

注意,也要將空閑線程棧調(diào)大

8977e9c6-5723-11f0-9cf1-92fbcf53809c.png

3

lwip版本問題

898ef314-5723-11f0-9cf1-92fbcf53809c.png

解決辦法,使用lwip2.1.2

89aaefc4-5723-11f0-9cf1-92fbcf53809c.png89c294a8-5723-11f0-9cf1-92fbcf53809c.png

4

lwip接收線程問題

89da898c-5723-11f0-9cf1-92fbcf53809c.png

解決辦法,關(guān)閉lwip接收線程

89f68fa6-5723-11f0-9cf1-92fbcf53809c.png

5

lwip線程堆棧問題

8a0be414-5723-11f0-9cf1-92fbcf53809c.png

解決辦法增大線程堆棧

8a202884-5723-11f0-9cf1-92fbcf53809c.png

6

鏈接腳本問題

8a36ac80-5723-11f0-9cf1-92fbcf53809c.png

解決辦法,在鏈接腳本里增加代碼

8a4b807e-5723-11f0-9cf1-92fbcf53809c.png8a6384ee-5723-11f0-9cf1-92fbcf53809c.png

/* section information for USB Host class (CherryUSB) */ . =ALIGN(4); __usbh_class_info_start__ = .; KEEP(*(.usbh_class_info)) __usbh_class_info_end__ = .;

再次編譯,沒有問題

8a749d10-5723-11f0-9cf1-92fbcf53809c.png


4 main.c添加代碼


8a8708d8-5723-11f0-9cf1-92fbcf53809c.png

#include#defineDBG_TAG"main"#defineDBG_LVL DBG_LOG#include#include#include"usbh_core.h"#include"lwip/tcpip.h"intmain(void){ usbh_initialize(0, USB_OTG_HS_PERIPH_BASE);returnRT_EOK;


5 完成


燒錄之后終端信息:

8aa5aeaa-5723-11f0-9cf1-92fbcf53809c.png

輸入ping命令:

8aafff86-5723-11f0-9cf1-92fbcf53809c.png


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7130

    瀏覽量

    125348
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5634

    瀏覽量

    103797
  • RT-Thread
    +關(guān)注

    關(guān)注

    32

    文章

    1393

    瀏覽量

    41726
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    如何在PSoC62 Evaluation kit開發(fā)板上運(yùn)行RT-Thread呢?

    本文主要介紹如何在PSoC62 Evaluation kit開發(fā)板上運(yùn)行RT-Thread,如何連接CYW43012 WiFi藍(lán)牙模組,以及如何進(jìn)行WiFi聯(lián)網(wǎng)、網(wǎng)絡(luò)延遲、網(wǎng)絡(luò)帶寬測試
    的頭像 發(fā)表于 02-27 10:49 ?1669次閱讀
    如何在PSoC62 Evaluation kit<b class='flag-5'>開發(fā)板</b>上運(yùn)行<b class='flag-5'>RT-Thread</b>呢?

    如何使用RT-Thread Studio創(chuàng)建支持HPM6750開發(fā)板RT-Thread項目

    基于RT-Thread系統(tǒng)的項目,以及進(jìn)行項目的調(diào)試、將項目生成的二進(jìn)制文件燒錄到開發(fā)板上、使用串口終端和RT-Thread的finsh進(jìn)行交互式控制臺調(diào)試。下載和安裝RT-Thread
    發(fā)表于 06-08 11:22

    【原創(chuàng)精選】RT-Thread征文精選技術(shù)文章合集

    。RT-Thread自動初始化詳解GD32 RISC-V系列 BSP框架制作與移植GD32407V-START開發(fā)板的BSP框架制作與移植基于Select/Poll實現(xiàn)并發(fā)服務(wù)器(一)基于Select
    發(fā)表于 07-26 14:56

    RT-Thread開發(fā),如何有效學(xué)習(xí)RT-Thread的五個步驟

    RT-Thread推出RT-Thread Inside戰(zhàn)略開放RT-Thread開發(fā)平臺授權(quán)合作,與硬件十萬個為什么合作首次推出第一款RT-
    的頭像 發(fā)表于 09-25 09:55 ?3.5w次閱讀
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>開發(fā)</b>,如何有效學(xué)習(xí)<b class='flag-5'>RT-Thread</b>的五個步驟

    RT-Thread Studio驅(qū)動SD卡

    總結(jié)前言硬件平臺:RT-Thread ART-Pi STM32H750XBH6開發(fā)板 H750開發(fā)板開發(fā)軟件:RT-Thread Studi
    發(fā)表于 12-27 19:13 ?20次下載
    <b class='flag-5'>RT-Thread</b> Studio<b class='flag-5'>驅(qū)動</b>SD卡

    RT-Thread全球技術(shù)大會:RNDIS設(shè)備介紹及應(yīng)用

    RT-Thread全球技術(shù)大會上,以RNDIS設(shè)備驅(qū)動框架為主題,首先介紹了RNDIS設(shè)備介紹及應(yīng)用。
    的頭像 發(fā)表于 05-28 14:36 ?2554次閱讀
    <b class='flag-5'>RT-Thread</b>全球<b class='flag-5'>技術(shù)</b>大會:<b class='flag-5'>RNDIS</b>設(shè)備介紹及應(yīng)用

    RT-Thread全球技術(shù)大會:RNDIS通信協(xié)議原理及主機(jī)驅(qū)動框架

    RT-Thread全球技術(shù)大會直播上,開發(fā)者詳細(xì)介紹了RNDIS通信協(xié)議的原理及主機(jī)驅(qū)動框架,具體資料如下圖:
    的頭像 發(fā)表于 05-28 14:43 ?3095次閱讀
    <b class='flag-5'>RT-Thread</b>全球<b class='flag-5'>技術(shù)</b>大會:<b class='flag-5'>RNDIS</b>通信協(xié)議原理及主機(jī)<b class='flag-5'>驅(qū)動</b>框架

    RT-Thread技術(shù)大會:RNDIS主機(jī)驅(qū)動軟件應(yīng)用說明

    RT-Thread全球技術(shù)大會上,開發(fā)者詳細(xì)介紹了RNDIS主機(jī)驅(qū)動軟件的應(yīng)用說明,據(jù)圖如下圖:
    的頭像 發(fā)表于 05-28 14:57 ?2044次閱讀
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>技術(shù)</b>大會:<b class='flag-5'>RNDIS</b>主機(jī)<b class='flag-5'>驅(qū)動</b>軟件應(yīng)用說明

    基于RoboMasterC型開發(fā)板RT-Thread使用分享(一)

    假期期間打算開一個坑,和大家分享下基于RoboMaster開發(fā)板C型上RT-Thread使用,本系列文章計劃是給剛接觸STM32和RT-Thread的同學(xué)看的,講的會稍微基礎(chǔ)一點。 硬件與開發(fā)
    的頭像 發(fā)表于 01-05 12:10 ?3173次閱讀

    RT-Thread文檔_其他開發(fā)板 上手指南

    RT-Thread文檔_其他開發(fā)板 上手指南
    發(fā)表于 02-22 18:27 ?0次下載
    <b class='flag-5'>RT-Thread</b>文檔_其他<b class='flag-5'>開發(fā)板</b> 上手指南

    基于rt-thread的socket通信設(shè)計

    最近再研究 rt-thread 的通信 ,想設(shè)計出 eps8266(多個) rt-thread(作為中控) 服務(wù)器的通信框架,使用的開發(fā)板是 潘多拉
    的頭像 發(fā)表于 10-13 15:02 ?1649次閱讀
    基于<b class='flag-5'>rt-thread</b>的socket通信設(shè)計

    rt-studio潘多拉開發(fā)板最新rt-thread不能運(yùn)行解決辦法

    rt-studio 上 選擇基于開發(fā)板的項目,選擇潘多拉,rt-thread選擇lasted ,如下圖
    的頭像 發(fā)表于 10-16 14:50 ?1879次閱讀
    <b class='flag-5'>rt</b>-studio潘多拉<b class='flag-5'>開發(fā)板</b>最新<b class='flag-5'>rt-thread</b>不能運(yùn)行解決辦法

    【QEMU系列】不用開發(fā)板運(yùn)行RT-Thread指南-ARM架構(gòu)

    簡介在物聯(lián)網(wǎng)和嵌入式系統(tǒng)的開發(fā)中,RT-Thread操作系統(tǒng)憑借其小巧、高效和靈活的特點,受到了越來越多開發(fā)者的青睞。然而,對于很多剛剛接觸RT-Thread
    的頭像 發(fā)表于 08-09 08:35 ?1540次閱讀
    【QEMU系列】不用<b class='flag-5'>開發(fā)板</b>運(yùn)行<b class='flag-5'>RT-Thread</b>指南-ARM架構(gòu)

    RT-Thread USB協(xié)議棧-CherryUSB快速上手指南

    的是,CherryUSB已經(jīng)成為RT-Thread的USB標(biāo)準(zhǔn)對接協(xié)議棧實現(xiàn)。這意味著在RT-Thread系統(tǒng)中,開發(fā)者可以方便地使用CherryU
    的頭像 發(fā)表于 11-22 01:09 ?1354次閱讀
    <b class='flag-5'>RT-Thread</b> USB協(xié)議棧-<b class='flag-5'>CherryUSB</b>快速上手指南

    CherryUSB-HID設(shè)備實踐 | 技術(shù)集結(jié)

    本文為大家?guī)?b class='flag-5'>CherryUSB-HID設(shè)備實踐,以MCXA156為例。開發(fā)環(huán)境搭建請參考RT-Thread的快速入門,咱們就直入主題,折騰USB去。CherryUSB的移植適配據(jù)筆者
    的頭像 發(fā)表于 04-27 17:46 ?503次閱讀
    <b class='flag-5'>CherryUSB</b>-HID設(shè)備實踐 | <b class='flag-5'>技術(shù)</b><b class='flag-5'>集結(jié)</b>