打印
[STM32G4]

STM32CubeMX配置STM32G431CBT6虚拟串口USB VCP

[复制链接]
10356|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
[url=]#申请原创#@21小跑堂 [/url]
STM32的很多系列都带有USB功能配置USB时钟
USB的工作时钟是48M,用HSI倍频到48M:




添加USB功能


添加VCP功能


发送
在main.c这个文件里面添加如下代码,就可以发送数据,虚似串口的波特率随便选择一个即可:
  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  char str[] = "Hello World!\n";
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
      CDC_Transmit_FS((uint8_t*)str, 13);
      HAL_Delay(100);
  }
  /* USER CODE END 3 */



接收
在CDC_Receive_FS这个函数里面就可以得到VCP发送过来的数据:



重映射printf输出
也可以把USB作为printf来输出log信息
int fputc(int ch, FILE *f)
{
        while(CDC_Transmit_FS((uint8_t *)&ch, 1) == USBD_BUSY);
        return ch;
}

效果




使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

101

主题

372

帖子

7

粉丝