usb虚拟串口的问题

2019-08-19 17:42发布

本帖最后由 jinx 于 2017-5-3 13:16 编辑

移植正点原子的USB虚拟串口程序,进行pwm波的通讯控制,但是每次点击打开串口又关闭串口,再次打开时就会电平翻转。。。    但是用串口通讯就不会产生这样的情况,请教一下原因,或者该怎么解决。。      还有就是我想了解一下用串口调试助手每次打开关闭串口操作相当于做了什么?



希望大神解答!!!!



用示波器进行测试,不全算是电平翻转,是原来的正电平变成了负电平。  这是为什么呀,困扰好多天啦,用的是战舰板子,求解答!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
513393302@qq.co
2019-08-20 03:50
请问你的电平翻转是指串口的引脚还是别的引脚?
在USB CDC类中,用户接口函数结构体如下:
USBD_CDC_ItfTypeDef USBD_Interface_fops_FS =
{
  CDC_Init_FS,
  CDC_DeInit_FS,
  CDC_Control_FS,  
  CDC_Receive_FS
};
当点击打开串口时,分别执行CDC_Init_FS()及CDC_Control_FS()函数(个人猜的,但实际应该差不多是这样)。
当关闭串口时执行CDC_DeInit_FS()函数。
以上结构体是用STM32CubeMX 直接生成USB CDC类产生的,初始化函数用于配置引脚及串口,而CDC_DeInit_FS()是回收,主要是关闭串口及配置引脚为复位状态。
我想可能是在打开时执行初始化,而在关闭时执行了回收,再打开时又执行了初始化,这样串口的引脚就有电平变化了

一周热门 更多>