新手上路
- 积分
- 43
- 金钱
- 43
- 注册时间
- 2014-6-29
- 在线时间
- 1 小时
|
5金钱
好不容易自已移植完了代码,测试发现单独发送是成功的,接收也能接收,但接收完后发送不了。请各位大侠帮忙看下:
以下是接收和发送代码
extern u32 userBuffersize;
extern u8 userBuffer[];
void EP3_OUT_Callback(void)
{
userBuffersize = USB_SIL_Read(EP3_OUT, (u8*)(userBuffer+userBuffersize))+userBuffersize;
SetEPRxValid(ENDP3);
}
while里发送的能收到,if里发送的接收不到,但可以肯定if函数进去了,因为temp每过一秒就会回到oxbb (PC 一秒发一次数据)
while(1)
{
if (userBuffersize)
{
//这里测试过,当我PC向STM发数据时,这里能进来。
temp=0xbb;
USB_SIL_Write(EP1_IN, &temp,1);
SetEPTxValid(ENDP1);
userBuffersize=0;
}
////下面的发送没问题,也没看到丢数据
temp++;
USB_SIL_Write(EP1_IN, &temp,1);
SetEPTxValid(ENDP1);
Delay(500);
}
|
|