你好,我看芯片介绍有这么一段话, 主机端点包括输出端点和输入端点,输出和输入缓冲区各是64B,主机端点与端点2合用同一组缓冲区,主机端点的输出缓冲区就是端点2的上传缓冲区,主机端点的输入缓冲区就是端点2的下传缓冲区。 其中,CH375的端点0、端点1、端点2只用于USB设备方式,在USB主机方式下只需要用到主机端点。
想问的是,所谓的主机端点是怎么理解呢?端点号是多少呢?我在芯片作host实现打印机功能的代码里面看到这样一段: c=p_cfg_descr->endp_descr[0].bEndpointAddress; /* 第一个端点的地址 */ if ( c&0x80 ) endp_in_addr=c&0x0f; /* IN端点的地址 */ else { /* OUT端点 */ endp_out_addr=c&0x0f; endp_out_size=p_cfg_descr->endp_descr[0].wMaxPacketSize; /* 数据接收端点的最大包长度 */ } if ( p_cfg_descr->itf_descr.bNumEndpoints>=2 ) { /* 接口有两个以上的端点 */ if ( p_cfg_descr->endp_descr[1].bDescriptorType==5 ) { /* 端点描述符 */ c=p_cfg_descr->endp_descr[1].bEndpointAddress; /* 第二个端点的地址 */ if ( c&0x80 ) endp_in_addr=c&0x0f; /* IN端点 */ else { /* OUT端点 */ endp_out_addr=c&0x0f; endp_out_size=p_cfg_descr->endp_descr[1].wMaxPacketSize; } } } 这里的第一个端点,第二个端点又怎么理解呢?跟端点1,端点2有什么关系吗?谢谢!