文章概览
设置USB虚拟串口
在CUBEMX中需要配置两处
Connectivity中
和Middleware
之后可以直接发送数据
1 |
|
发送数据代码 printf
生成的 usbd_cdc_if.c 文件是管理收发数据的
重定义print功能,需要重新定义一个函数代替使用
需要手动添加 include
1
2
3/* USER CODE BEGIN Includes */
/* USER CODE END Includes */在 usbd_cdc_if.c 中添加 usb_printf 函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17/* USER CODE BEGIN PRIVATE_FUNCTIONS_IMPLEMENTATION */
void usb_printf(const char *format, ...)
{
va_list args;
uint32_t length;
va_start(args, format);
length = vsnprintf((char *)UserTxBufferFS, APP_TX_DATA_SIZE, (char *)format, args);
va_end(args);
CDC_Transmit_FS(UserTxBufferFS, length);
}
/* USER CODE END PRIVATE_FUNCTIONS_IMPLEMENTATION */之后可以直接把 usb_printf 当成 printf 使用
接收数据代码
多想多做,发篇一作