|
关于USB通讯(D12)的一小段程序:
初始化;
while(1)
{
usbserve(); //处理USB事件
if (bEPPflags.bits.configuration == 1)
{
while(1)
{
for(i=0;i<5000;i++);
func(); //采样程序
if (bEPPflags.bits.ep2_rxdone == 1) //端点2收到任意数据 { DISABLE();
bEPPflags.bits.ep2_rxdone = 0; //清空端点2收到数据标志
D12_WriteEndpoint(5,64,p); //发64个字节到PC机,P是采样数据的存放地址,在片外RAM中
ENABLE();
}
}
}
}
我希望当USB枚举成功后,主程序一直在采样程序中,当端点2收到任意数据后再通过端点2向上位机发送采样数据,但是这段程序枚举和采样没问题,就是不能正常的收发数据.如果把采样程序去掉后就能正常收发了.找了好久就是找不到why,请大家指点一下吧!
|
|