3257|0

14

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

STM32虚拟串口驱动如何一次发送261个数据给上位机? [复制链接]

我设备的需求是:将网卡接收到的一帧数据(一帧包括261个数据,每个数据都是一个十六进制如0xc2),通过USB发送到上位机。
     我将STM32的USB虚拟串口驱动(V3.1版)按照我的要求进行修改并实现了该功能,起初我USB虚拟串口驱动用的是官方提供的V3.1版本,但是总是出现:串口被占用的bug(见贴http://bbs.21ic.com/frame.php?frameon=yes&referer=http%3A//bbs.21ic.com/iclist-49.html)
    然后我使用了V3.4的版本,就没有上面的问题了,但是又出现了新的问题:
在V3.1中我实现将网卡接收到的一帧261个数据发送到上位机的代码是在main()函数的while中不断发送,如下述代码:
  while (1)
  {
          size = ETH_HandleRxPkt(uip_buf);
      
      if (size > 0)
          {
                USB_SIL_Write(EP1_IN, (u8*)  uip_buf, 64);
                        USB_SIL_Write(EP1_IN, (u8*) (uip_buf+64), 64);
                        USB_SIL_Write(EP1_IN, (u8*) (uip_buf+128), 64);
                USB_SIL_Write(EP1_IN, (u8*) (uip_buf+192), 64);
                USB_SIL_Write(EP1_IN, (u8*) (uip_buf+256), 5);
           }
  }
      上述代码在USB虚拟串口V3.1版本中经过测试能够实现将uip_buf数组中261个数据发送到上位机,并可在串口调试助手中显示。
    但是我使用了V3.4版本后采用相同的方式确不能发送成功。
    请问我USB虚拟虚拟串口V3.4版本连续用USB发送261个数据该如何实现?
此帖出自stm32/stm8论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表