上位机用USB做虚拟串口,总算抓到一个纯代码的总结了,没有坑的完美解决。
2024-10-16 07:19:21
用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*/
};
{
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() 主机向设备输出数据
最新文章
- PHP+Hadoop实现数据统计分析
- BST &; Treap
- 【mark】自己整合的vi/vim命令
- Android开发--Button的应用
- BISTU-(1)-4-17-2016
- FrameWork 建模时查询项的usage
- HDU4607+BFS
- js获取当前日期时间同时显示星期
- 在Dll中创建对话框并调用
- Docker- 创建支持SSH服务的容器镜像
- Thinkpad USB 经典键盘使用体验
- eclipse 安装svn和gradle
- delete web server(nginx)
- CSS3 选择器 基本选择器介绍
- 企业类Web原型制作分享-Kraftwerk
- Ubuntu下安装virtualbox失败解决方案
- 科比投球预测-python实例
- struts2 <;s:select>;标记取包含map的list的值
- Flask系列之源码分析(二)
- 对ViewModel自定义约束