zoukankan      html  css  js  c++  java
  • 上位机用USB做虚拟串口,总算抓到一个纯代码的总结了,没有坑的完美解决。

    用libUSB来实现自己的驱动+下位机理论速度。=1M字节每秒。
    达到极限速度
     
    WINDOWS已经自带虚拟串口驱动,只不过还需要一个Inf文件
    方法1:直接下载一个串口inf,来修改文件。
     

    方法2:用libUSB来实现自己的驱动。。。及应用。用那个工具安装成自己定义的设备名字,应用程序就根据PID,VID来找到我们的设备,进行一系列读写。


     
     
    下位机:
    1,配置描述符的编写,见工程代码注释。主要是CDC类接口用端点2,数据接口用端点1和端点3
     
     
    2,Get_line_coding请求,获取串口属性。波特率、停止位、校验类型、数据位数。避免移植的大小端、对齐、填充模式等问题。不用结构体,使用数组。这是设置真实串口波特率,而虚拟串口想多快就有多快
    usb_prop.c
    LINE_CODING linecoding =
      {
        115200, /* baud rate*/
        0x00,   /* stop bits-1*/
        0x00,   /* parity - none*/
        0x08    /* no. of bits 8*/
      };
     
    3,Set_line_coding,设置串口属性
     
    4,处理串口数据
    Usb_endp.c
    EP1_IN_Callback()   设备向主机输入数据,
    EP3_OUT_Callback()  主机向设备输出数据
  • 相关阅读:
    django template extends
    python sys.path的用法
    django form 显示
    django form 验证
    WingIDE 下载,介绍和配置
    python startswith
    django reverse()
    python 动态创建类
    django form 定义
    如何学习python
  • 原文地址:https://www.cnblogs.com/zkp2010/p/5510754.html
Copyright © 2011-2022 走看看