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