时间:2023-10-16 16:04
人气:
作者:admin
之前的文章中介绍过STM32的USB接口虚拟串口的功能。本篇文章在此基础上,以STM32F407为例,介绍USB转串口功能的实现。
要实现USB转串口的功能,需要将单片机真实串口(这里以USART1为例)的收发数据与USB口进行交互。用过USB虚拟串口的朋友可能知道,要实现该功能,还存在以下问题:
1. 电脑上设置的串口波特率不影响USB接口传输的速率。
2. 怎样获取电脑上串口助手设置的波特率,以设置USART1使其波特率与串口助手一致。
波特率设置
其实STM32CubeMX生成的程序中已经提供了相关的接口,只需要用户自己实现即可。打开usbd_cdc_if.c文件,CDC_Control_FS函数中,添加如下程序。

其中上面的注释是系统生成的,根据注释添加相应的红框中的程序。LineCoding是一个结构体:
USBD_CDC_LineCodingTypeDef LineCoding ={ 115200, /* 波特率*/ 0x00, /* 停止位-1*/ 0x00, /* 校验 - none*/ 0x08 /* 数据位 8*
上一篇:CAN总线关闭故障的诊断流程
下一篇:开关管的驱动器及驱动电路设计
从profibusDP转ModbusTCP,一网打尽转换技巧!