用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()  主机向设备输出数据

最新文章

  1. PHP+Hadoop实现数据统计分析
  2. BST & Treap
  3. 【mark】自己整合的vi/vim命令
  4. Android开发--Button的应用
  5. BISTU-(1)-4-17-2016
  6. FrameWork 建模时查询项的usage
  7. HDU4607+BFS
  8. js获取当前日期时间同时显示星期
  9. 在Dll中创建对话框并调用
  10. Docker- 创建支持SSH服务的容器镜像
  11. Thinkpad USB 经典键盘使用体验
  12. eclipse 安装svn和gradle
  13. delete web server(nginx)
  14. CSS3 选择器 基本选择器介绍
  15. 企业类Web原型制作分享-Kraftwerk
  16. Ubuntu下安装virtualbox失败解决方案
  17. 科比投球预测-python实例
  18. struts2 <s:select>标记取包含map的list的值
  19. Flask系列之源码分析(二)
  20. 对ViewModel自定义约束

热门文章

  1. C# 日志框架的添加
  2. 如何正大光明的使用 google 进行搜索
  3. hibernate查询方式
  4. Linux Bash shell one practice : array if else
  5. struts2 基本用法
  6. hdu-4810 Wall Painting(组合数学)
  7. jquery 地址栏链接与a标签链接匹配 特效代码总结(二)
  8. UVALive 6450 Social Advertising DFS解法
  9. NYOJ-301递推求值
  10. AC日记——产生数 codevs 1009 (弗洛伊德)(组合数学)