【stm32】【CDC】详解

Parameter

|------------------------------|--------------|-------------------------|----------------------------------|----------------------------------|
| USB CDC Rx Buffer Size | 数据通信(接收) | 定义从PC接收数据的硬件缓冲区大小 | 抗数据突发能力强 ,减少丢包风险,增加RAM占用 | 节省RAM,但易因处理不及时导致缓冲区溢出、数据丢失 |
| USB CDC Tx Buffer | 数据通信(发送) | 定义待发送到PC的数据的临时存储区大小 | 能缓存更多待发送数据,提高发送吞吐率,增加RAM占用 | 节省RAM,但可能导致发送API需等待或阻塞,降低实时性 |

cubemx直接生成即可。

复制代码
  MX_GPIO_Init();
  MX_USB_DEVICE_Init();
  /* USER CODE BEGIN 2 */

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
	CDC_Transmit_FS((uint8_t*)"hello", 5);
    HAL_Delay(1000);
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }

波特率可以自己设置。

注意:这个功能用cubemx实现几乎不用写任何代码,但是硬件上要做阻抗匹配,记得先检查D+口有没有1.5om上拉和D+D-串联22om,否则有可能出现无法识别设备,同时win10以下好像要去下载驱动,win10和win11无需驱动。

相关推荐
Brilliantwxx11 分钟前
【STM32】 SPI Flash 驱动开发实战:阻塞模式驱动 W25Q64(含工程代码)
开发语言·stm32·单片机·嵌入式硬件
纳祥科技18 分钟前
拆机拆到芯片级:ARC功放机里的NX7026、NX8420、NX6805
单片机·音视频·智能音箱
老当益壮梁奶奶1 小时前
ARM汇编学习笔记(六):【i.MX6ULL】时钟系统与定时器(EPIT & GPT)
c语言·arm开发·嵌入式硬件·学习·51单片机
youcans_2 小时前
【嵌入式软件AI编程】16. Claude Code 与 VS Code 的协同开发
stm32·mcu·嵌入式·ai编程·claude code
Zw-awa2 小时前
按键接到 STM32 后:GPIO 输入到底读到了什么
stm32
sunoo-2293 小时前
【ARM嵌入式学习笔记Day6】一文打通i.MX6ULL时钟体系:PLL/PFD/预分频+滞回比较器全解析
arm开发·笔记·vscode·单片机·imx6ull·汇编语言
fhq_fn_jgd3 小时前
ARM 时钟
嵌入式硬件
MarkZhou6243 小时前
智能蒸烤双核通信架构拆解:从冗余耦合到分层解耦
stm32·单片机·嵌入式硬件·架构·安卓·安全架构
chem41113 小时前
STM32CubeMX Linux 开发环境搭建
stm32·单片机·linux系统
M78佐菲11 小时前
ARM学习笔记(1)
linux·arm开发·笔记·嵌入式硬件·学习