我用CH372作为通信设备主要是接收PC下传的批量数据,请问: 1)批量数据传送时为什么总是端点 2 接收到数据而不是端点0或1呢? 2)为什么每一个数据块的长度是8个字节而不是64个字节呢? 3)下传时一个数据块读完以后到下一个数据块准备好大约要多长时间?
热门产品 :
CH32X035: 32位USB+USB PD单片机
我用CH372作为通信设备主要是接收PC下传的批量数据,请问: 1)批量数据传送时为什么总是端点 2 接收到数据而不是端点0或1呢? 2)为什么每一个数据块的长度是8个字节而不是64个字节呢? 3)下传时一个数据块读完以后到下一个数据块准备好大约要多长时间?
(1)端点0默认总是控制端点,不允许做批量、中断或实时传输,而端点2和端点1的性质基本一样,CH372内置固件总是把端点2作为批量端点,端点1为中断端点,如果是外置固件,那么具体的类型可以在端点描述符中指定 (2)内置固件下,端点2的缓冲区为64,端点1为缓冲区为8,外置固件下可以在端点描述符中指定 上述概念,均需要了解USB规范 (3)这个没有确定的时间,与上下位机程序都有关系,需要自行实测一下
3)下传时,CH375WriteData第三个函数指定的写数据长度越长,所用的时间就越短,但最大是4096.