4个大端点配置成Bulk传输,两个输出端点,两个输入端点。从主机发出的数据存储在OUT endpoint,然后再从IN endpoint返回主机。以下是4个端点的配置,
EP2CFG = 0xA2;
SYNCDELAY;
EP4CFG = 0xA0;
SYNCDELAY;
EP6CFG = 0xE2;
SYNCDELAY;
EP8CFG = 0xE0;
he key characteristics of each endpoint are as follows:
Endpoint 2 OUT, Bulk, double buffered
Endpoint 4 OUT, Bulk, double buffered
Endpoint 6 IN, Bulk, double buffered
Endpoint 8 IN, Bulk, double buffered
具体看程序。下面看一下调试过程,(待续,回东北回来后再写),打开控制面板,下载此程序,如下,
单击控制面板中的“Pipe”,可以看到之前配置的4个端点,如下,
下面看一下固件实现的功能:单击控制面扳的“Pipe”,选中其中的“0: Endpoint 2 OUT”,在“Hex Bytes”中输入“A”,在“Length”输入“512”,最后单击“Bulk Trans”,如下,
重复以上的过程,只是在“Hex Bytes”中输入“B”,再单击“Bulk Trans”;第三次在“Hex Bytes”中输入“C”,再单击“Bulk Trans”,也就是说第一次发了512个A,第二次发了512个B,第三次发了512个C,按照固件的定义,端点2配置成2次缓冲,尽管依次了512个“A”、“B”、“C”,端点2的缓冲区应该保留最后两个值,但程序运行并不是这样,还需要我进一步查证如下,单击“Pipe”,选中“2: Endpoint 6 IN”,再单击三次“Bulk Trans”,发现读出了512个“A”,512个“ C”,这一点与固件实现的功能不一样,我还再查证之中。
良子.2010年
欢迎交流:liangziusb@163.com
QQ:392425239
文章评论(0条评论)
登录后参与讨论