[求助]hcn大哥,帮我解释一下你们375做主机的控制鼠标例程!

void toggle_recv( ) { CH375_WR_CMD_PORT( CMD_SET_ENDP6 ); CH375_WR_DAT_PORT( endp6_mode ); endp6_mode ^= 0x40; // 初始值均为80H, 每执行一次成功事务后将位6取反 delay2us( ); } 这里并没有判断事务执行成功就把endp6_mode的位6取反了,这是为什么呢? 还有endp6_mode的初值并不是均为80H,我看到有一段程序在调用函数toggle_recv()之前, endp6_mode被赋值为C0H,这是什么原因?

void clr_stall6() { CH375_WR_CMD_PORT( CMD_CLR_STALL ); CH375_WR_DAT_PORT( 2 | 0x80 ); // 如果设备端不是CH37X芯片,那么需要修改端点号 endp6_mode = 0x80; status = 0xff; } 这段程序最后给status赋值0XFF,是什么意思呢

1、CMD_SET_ENDP6 这个命令并不会产生中断或返回操作状态,endp6_mode是用来同步切换的,在80H和C0H间切换。 2、最后给status赋值0XFF相当于清status的值。


只有登录才能回复,可以选择微信账号登录