阅读:793回复:2
数据打包请教斑竹
请教斑竹,通过usb接口传输的数据是如何打包的?在那里实现?是应用程序里吗?我现在遇到了问题;当在主机与设备进行数据传输的时候,每次应用程序发一个字节的时候可以实现,但要发多字节的数据时,就死机了,我理解应该是数据打包是出现了问题,该如何解决呢?谢谢
|
|
沙发#
发布于:2003-09-16 10:39
应该不是数据打包的问题,数据打包实在底层驱动力进行的,这层驱动是操作系统自带的,所以不会出错的,你发多少数据就会死机?
如果用的1.1,发送超过128出现死机,那就是你设备方没有把端点里的数据读走,驱动在一直等待发送剩余的数据而不返回,就好像死机了一样,如果是2.0,一般是1024,也就是两个最大包 |
|
板凳#
发布于:2003-09-16 15:45
可是在固件里,只要端点2里有数据就会被读走的啊,
if ( ! ( EP24FIFOFLGS & 0x02 ) ) // if there\'s a packet in the peripheral domain for EP2 {if(enum_high_speed) { SYNCDELAY; GPIFTCB1 = 0x10; SYNCDELAY; GPIFTCB0 = 0x00; SYNCDELAY; } else { SYNCDELAY; GPIFTCB1 = 0x00; SYNCDELAY; GPIFTCB0 = 0x20; SYNCDELAY; } Setup_FLOWSTATE_Write(); SYNCDELAY; GPIFTRIG = GPIF_EP2; SYNCDELAY; while( !( GPIFTRIG & 0x80 ) ) { ; } SYNCDELAY; } 写过程如上,这样不对吗? |
|