硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1417|回复: 1
收起左侧

VCP调试,F429usb可以接受到pc机的数据,但是发送始终不行,高手指导一下

[复制链接]

21

主题

48

回帖

111

积分

初级会员

积分
111
发表于 2020-11-29 14:16:20 | 显示全部楼层 |阅读模式
之前的帖子,是串口没法识别,现在已经没问题了。

现在是通过串口调试软件和usb的监测软件,发现了一些问题。
感谢硬汉,串口调试和usb监测软件都是硬汉推荐的



发现usb的tx数据函数

uint8_t  USBD_CDC_TransmitPacket(USBD_HandleTypeDef *pdev)
{      
  USBD_CDC_HandleTypeDef   *hcdc = (USBD_CDC_HandleTypeDef*) pdev->pClassData;

  if(pdev->pClassData != NULL)
  {
    if(hcdc->TxState == 0)
    {
      /* Tx Transfer in progress */
      hcdc->TxState = 1;

      /* Transmit next packet */
      USBD_LL_Transmit(pdev,
                       CDC_IN_EP,
                       hcdc->TxBuffer,
                       hcdc->TxLength);

      return USBD_OK;
    }
    else
    {
      return USBD_BUSY;
    }
  }
  else
  {
    return USBD_FAIL;
  }
}

仿真发现,一直是busy的状态,没法调用底层的

USBD_LL_Transmit(pdev,
                       CDC_IN_EP,
                       hcdc->TxBuffer,
                       hcdc->TxLength);
的这个函数

问题出在哪里呢,给分析分析,谢谢大家,附图!!




这个是串口成功识别截图

这个是串口成功识别截图
QQ图片20201129140453.png

usbtrace 看到了usbVCP设备

usbtrace 看到了usbVCP设备

红箭头就是vcp设备

红箭头就是vcp设备

IN 和OUT的管道拦截的数据,429没有发送数据

IN 和OUT的管道拦截的数据,429没有发送数据

发现是usb CDC 里面着函数监测到一直是busy

发现是usb CDC 里面着函数监测到一直是busy
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106746
QQ
发表于 2020-11-30 13:18:09 | 显示全部楼层
继续参考我这个试试:

应网友需求,制作基于STM32-V6开发板的虚拟串口例子供大家下载参考
http://www.armbbs.cn/forum.php?m ... 6394&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-3 21:39 , Processed in 0.166845 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表