zyz1974
驱动小牛
驱动小牛
  • 注册日期2002-11-06
  • 最后登录2005-06-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1062回复:3

请各位帮忙看看这段程序

楼主#
更多 发布于:2003-11-08 08:27
void TD_Poll(void)
{。。。。。。。
if(in_enable)
  {
   if ( GPIFTRIG & 0x80 )        // if GPIF interface IDLE
   {
    if ( EXTFIFONOTEMPTY )  // if external FIFO is not empty
    {
   if ( !( EP68FIFOFLGS & 0x01 ) ) // if EP6 FIFO is notfull
{      
          if(enum_high_speed)
 {。。。。
。。。。。
BOOL DR_VendorCmnd(void)
{  

switch (SETUPDAT[1])
  {
  case VX_B3: // enable IN transfers
{
 in_enable = TRUE;

      *EP0BUF = VX_B3;
    EP0BCH = 0;
 EP0BCL = 1;
 EP0CS |= bmHSNAK;
 break;
    }
 default:
        return(TRUE);
  }

  return(FALSE);
}
大家帮忙看一下,这个in_enable 在这里起什么作用啊,为什么我的程序里面加上与不加if(in_enable)这条语句后,读数据的时候结果有很大的差别啊,差别在于,没有这一句的时候读出来的数据前面会有2048个字节的00(说明:我采用的时4缓冲),是不是这个if语句还有别作用啊?
zyz1974
驱动小牛
驱动小牛
  • 注册日期2002-11-06
  • 最后登录2005-06-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-11-08 09:21
自己先顶一下啊
zyz1974
驱动小牛
驱动小牛
  • 注册日期2002-11-06
  • 最后登录2005-06-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-11-10 18:04
论坛上能行侠仗义的英雄帮忙看看吧
zyz1974
驱动小牛
驱动小牛
  • 注册日期2002-11-06
  • 最后登录2005-06-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-11-11 08:57
这样一个问题难到没人会?不可能啊
游客

返回顶部