classroom 发表于 2023-1-5 10:11

STM32F042的USB虚拟串口接收不到数据

一开始移置的标准库官方例程
在单片机接收数据的地方增加LED状态控制来观察
static uint16_t VCP_DataRx (uint8_t* Buf, uint32_t Len)
{
uint32_t i;

for (i = 0; i < Len; i++)
{
    USART_SendData(USART1, *(Buf + i) );
    while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);
}
      
      LED_TOGGLE;//LED状态翻转
      
return USBD_OK;
}从上位机串口软件发送数据时第一次LED状态变化,再发就不动作了,也收不到数据,
串口工具关闭串口再重新打开后第一次发送还能变化一次,再发送就不变了。

开始以为标准版的固件不兼容最新的上位机驱动(我的系统是WIN7 X86 32位)又用CUBE生成了一个基于HAL的代码来测试,问题还是一模一样



[*]static int8_t CDC_Receive_FS(uint8_t* Buf, uint32_t *Len)
[*]{
[*]/* USER CODE BEGIN 6 */
[*]USBD_CDC_SetRxBuffer(&hU***DeviceFS, &Buf);
[*]USBD_CDC_ReceivePacket(&hU***DeviceFS);
[*]
[*]      LED_TOGGLE;
[*]
[*]return (USBD_OK);
[*]/* USER CODE END 6 */
[*]}

复制代码


有经验的朋友,给点意见,查这个问题应该从哪儿入手,谢谢!

mattlincoln 发表于 2023-1-5 18:06

你看看usb是不是问题?            

Dick Hou 发表于 2023-1-6 09:52

只变化了一次,可能是usb toggle位的问题

SantaBunny 发表于 2023-1-6 15:49

可能是usb的问题

juliestephen 发表于 2023-1-6 18:03

你这个用的不是串口的吗?            

mollylawrence 发表于 2023-1-9 11:52

重新插拔一下usb试试。            

小小蚂蚁举千斤 发表于 2023-1-9 15:49

看看usb,是不是这的问题

星辰大海不退缩 发表于 2023-1-9 16:00

是usb吗?感觉像

chenci2013 发表于 2023-1-9 16:33

虚拟串口有问题的吗?            

kkzz 发表于 2023-1-12 16:10

之前测试过可以接受数据的。            

lihuami 发表于 2023-1-12 16:59

如果下载程序以后,需要让usb线拉低才行。

saservice 发表于 2023-1-12 22:22

虚拟串口使用中断了吗?            

bestwell 发表于 2023-1-14 13:11

为什么要在虚拟串口中使用真是串口呢?

sdlls 发表于 2023-1-14 14:29

把你的代码上传看看是什么原因
            

pixhw 发表于 2023-1-16 16:23

这个串口的问题的吗?            

geraldbetty 发表于 2023-1-16 22:26

这个网上有教程可以使用 。            

weifeng90 发表于 2023-1-16 22:54

虚拟串口驱动兼容不

Pretext 发表于 2023-1-17 09:35

好像新版本的CubeMX生成的USB串口有问题。

芯路例程 发表于 2023-1-17 09:35

你用的是哪个版本的CubeMX?

天天向善 发表于 2023-1-17 09:36

你可以试试别的USB虚拟串口的程序,看看会不会出现这个问题。
页: [1] 2 3 4
查看完整版本: STM32F042的USB虚拟串口接收不到数据