如何设置USB CDC线路编码?
如何设置USB CDC线路编码?1.什么是线路编码?线路编码用于传输UART接口的参数,并使用USB CDC-虚拟COM端口进行仿真。在STM32遗留USB库中,线路编码在文件usbd_CDC_if.c中处理,函数。。。
如何设置USB CDC线路编码?
1.什么是线路编码?
线路编码用于传输UART接口的参数,该接口使用USB CDC-虚拟COM端口进行仿真。在STM32中,传统USB库是在文件usbd_CDC_if.c、函数CDC_Control_xS(FS用于全速USB,HS用于高速USB)中处理的线路编码。STM32CubeMX生成CDC_Control_xS函数为空,您可以在STM32CubeMX项目库中找到处理方案。2.线路编码结构
首先,您需要定义行编码结构:USBD_CDC_LineCodingTypeDef LineCoding={115200,/*波特率*/0x00,/*停止位-1*/0x00、/*奇偶校验-无*/0x08/*位数量*/};则需要将结构正确地添加到CDC_ control_xS函数中:
static int8_t CDC_Control_xS(uint8_t cmd,uint8_t*pbuf,uint16_t length大小写CDC_GET_LINE_CDING:pbuf[0]=(uint8_t)(线路编码.比特率);pbuf[1]=(uint8_t)(行编码比特率>>8);pbuf[2]=(uint8_t)(行编码比特率>>16);pbuf[3]=(uint8_t)(行编码比特率>>24);pbuf[4]=行编码格式;pbuf[5]=行编码,奇偶类型;pbuf[6]=行编码数据类型;打破返回(USBD_OK);/*用户代码结束5*/}
上一篇: 如何使用HAL API编程STM32选项字节 下一篇: 无法连接到STM32H7设备