阅读:1219回复:2
请教D12代码中的一点问题(关于OUT端点代码)
//主端点IN控制
void main_rxdone(void) { unsigned char len,epstatus; D12_ReadLastTransactionStatus(4); //清中断标志位 //接收数据 len = D12_ReadEndpoint(4, 64, EpBuf); epstatus=D12_ReadEndpointStatus(4); epstatus &= 0x60; if (epstatus == 0x60) len = D12_ReadEndpoint(4, 64, EpBuf);//读取双缓冲区数据 } 请问这段代码中,为什么用D12_ReadEndpoint读两次?在什么情况下需要读两次?在使用中需要注意什么? 先谢过诸大侠。 |
|
沙发#
发布于:2004-04-03 15:51
因为d12的主端点有两个缓冲区,假如满了(epstatus == 0x60)就得读两次。
|
|
板凳#
发布于:2004-04-03 15:53
因为d12的主端点有两个缓冲区,假如满了(epstatus == 0x60)就得读两次。 谢谢啊,那这样不就冲掉了数据(只有最后读的才有用)? |
|